使用者が入力した数字に基づいて星を印刷するプログラムを取得しようとしています。たとえば、10-20 = 1 などの数字です。私の問題は、印刷を次のように機能させる方法がわからないことです。現時点では何も出力されません。誰でも助けることができます。
コード:
void readExamMarks(int examMarks[], int sizeOfArray, int counter1, int counter2){
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;
if((x >=0) && (x <= 100)){
x = x/10;
switch(x){
case 1:
counter1++;
break;
case 2:
counter2++;
break;
}
examMarks[idx] = x;
}
else{
cout << "ERROR: Value must be in range [0...100], please enter a valid value\n";
}
}
}
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,int counter1, int counter2){
system("cls");
while(counter1 != 0){
cout << "*" << endl;
counter1--;
}
for( int x = 0; x < counter1; x++){
cout << setw(5) << "*" << endl;
}
}
int main()
{
int examMarks[20];
int counter1 = 0;
int counter2 = 0;
readExamMarks(examMarks, 5, counter1, counter2);
printHisto(examMarks, 5, counter1, counter2);
printExamMarks(examMarks,5);
system("PAUSE");
}