這個程序的重點是讓用戶輸入一個等級A,B,C,D或F的等級達到50的學生的等級。最後,該程序應該顯示每個年級有多少學生。每當我測試下面的代碼時,無論我爲for循環輸入的內容每次都重複一次,如果我輸入它來做3年級的學生,那麼無論我爲學生1輸入的信件都是同一個年級,所以如果一個學生有一個A,他們都會有一個答案。我也必須爲這個程序使用數組,因爲它是爲了大學。對不起,如果沒有足夠的信息,這是我第一次發佈。For loop不讓我改變輸入
#include<iostream>
#include<iomanip>
#include<string>
void gradeTotals();
using namespace std;
int x,z,a=0,b=0,c=0,d=0,f=0,i=0;
char grade[50];
int main()
{
cout<<"Please enter the number of students"<<endl;
cin>>x;
for (i=0;i<x;i++)
{
int y;
y=i+1;
cout<<"Please enter a letter grade of A,B,C,D, or F for student "<<y<<endl;
cout<<"All grades must be uppercase"<<endl;
cin>>z;
grade[i]=z;
gradeTotals();
}
}
void gradeTotals()
{
if (grade[i]=='A')
{
a++;
}
else if (grade[i]=='B')
{
b++;
}
else if (grade[i]=='C')
{
c++;
}
else if (grade[i]=='D')
{
d++;
}
else if (grade[i]=='F')
{
f++;
}
cout<<a<<endl;
cout<<b<<endl;
cout<<c<<endl;
cout<<d<<endl;
cout<<f<<endl;
}
爲什麼要評分一個雙精度數組,如果它正在存儲字符? – 2014-11-24 03:50:13
另外:'grade [i] ='F'是使用賦值,而不是比較。 – 2014-11-24 03:52:02
你忘了問一個問題。你講了一個故事,展示了一些代碼,然後就停了下來。該按鈕被標記爲「Ask Question」是有原因的。 – 2014-11-24 04:02:20