#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[]) {
int size = 0;
int highNum = 0;
int m;
string fname;
cout << "Supply the name of the input file you would like to use." << endl;
cin >> fname;
ifstream input;
input.open(fname.c_str());
input >> size;
int numbers[size];
for (int n = 0; n < size; n++)
input >> numbers[n];
for (m = 0 ; m < size ; m++)
{
if (numbers[m] > highNum)
highNum = numbers[m];
}
int j;
int k;
bool values[] = {false, false, false, false, false, false};
for (j = highNum; j > 0 ; j--)
{
for (k = size - 1 ; k >= 0 ; k--)
{
if (j <= numbers[k])
values[k] = true;
}
if (values[0])
cout << "| xxx";
else
cout << "| ";
if (values[1])
cout << " +++";
else
cout << " ";
if (values[2])
cout << " ***";
else
cout << " ";
if (values[3])
cout << " ---";
else
cout << " ";
if (values[4])
cout << " +++";
else
cout << " ";
if (values[5])
cout << " +++" << endl;
else
cout << " " << endl;
}
return 0;
}
我正在尝试编写一个代码,通过从单独的文本文件中读取整数来打印条形图。我发布了完整的代码,但是如果您输入数字,我知道下半部分是有效的。我想知道在同一目录中有一个数据文件的问题是什么。当我运行此程序并输入我为测试它而创建的数据文件的名称时,程序会运行,但不会生成图表。
答案 0 :(得分:0)
您的计划适合我。我想您的输入文件不存在于进程的当前工作目录中。我建议您在调用input
后添加一项检查,以确定open
是否有效。