这个程序的重点是让用户输入一个等级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