我的程序有点卡住了,该程序是读取一组结果,然后构建一个直方图,指示每个十年中有多少标记,即 10-20 之间有多少等。
我有2个问题
- 如何编辑我的代码以仅允许 readExamResults 存储 0 -100 范围内的代码
- 如何让 PrintHisto 在某个 setw() 处打印 *,具体取决于每个结果所在的十年。例如,如果我输入 3、4、5、11、23 它应该在 <10 十年中显示 3 * , 10-20 年代有 1 个,20-30 年代有 1 个。
任何帮助都感激不尽。
代码:
using namespace std;
void readExamMarks(int examMarks[], int sizeOfArray){
cout << "Please enter a set of exam marks to see a histogram for:" << endl;
int x = 0;
for( int idx = 0; idx < sizeOfArray; idx++){
cin >> x;
examMarks[idx] = x;
}
}
void printExamMarks(int examMarks[], int sizeOfArray){
for(int x = 0; x < sizeOfArray; x++){
cout << setw(5) << examMarks[x];
}
cout << endl;
}
void printHisto(int examMarks[], int sizeOfArray){
system("cls");
for( int x = 0; x < 6; x++){
cout << setw(5) << "*" << endl;
}
}
int main()
{
int examMarks[5];
readExamMarks(examMarks, 5);
printHisto(examMarks, 5);
printExamMarks(examMarks,5);
system("PAUSE");
}