이 프로그램의 요점은 사용자가 A, B, C, D 또는 F 등급의 범위에서 최대 50 명의 학생을 일정 등급으로 입력하는 것입니다. 결국,이 프로그램은 얼마나 많은 학생들이 각 학점을 받았는지 보여 주려고합니다. 다음 코드를 테스트 할 때마다 for 루프에 대해 입력 한 내용이 매번 반복되므로 3 학년 학생을 위해 입력하면 학생 1에 입력 한 모든 글자는 모든 학생에게 동일한 학년이되므로 if 한 학생은 A를 가지고 있고, 그들은 모두 A를 가질 것입니다. 대학을 위해서이기 때문에이 프로그램을 위해 배열을 사용해야합니다. 죄송합니다. 정보가 충분하지 않은 경우 게시가 처음입니다.루프가 입력을 변경하지 못하도록
#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;
}
글자를 저장하는 경우 학년이 2 중 배열이되는 이유는 무엇입니까? –
또한 :'grade [i] = 'F''는 비교가 아닌 과제를 사용하고 있습니다. –
질문하는 것을 잊었습니다. 당신은 이야기를하고 몇 가지 코드를 보여주었습니다. 버튼에 이유를 묻는 질문이 표시됩니다. –