编程小白,请问各位大佬下面这个用c++怎么编,谢谢
已知某班有N名学生,每名学生有学号,姓名和3门课程成绩等信息,统计有不及格课程的学生的人数以及这些学生的信息
#include <iostream> #include <string> #include <vector> using namespace std; //用于存储学生信息的结构体 struct Student { int sNumber; string sName; int sProfessionalA; int sProfessionalB; int sProfessionalC; }; //此 >> 的重载实现从控制台直接将数据cin到结构体内 istream & operator >> (istream& in, Student &s){ in >> s.sNumber >> s.sName >> s.sProfessionalA >> s.sProfessionalB >> s.sProfessionalC; return in; } int main() { //使用vector存储所有学生的结构体,方便统计 vector<Student> v; //声明结构体变量sd用于临时存放控制台传入的学生信息 Student sd; int n = 0; cout << "输入学生信息的数量:" << endl; cin >> n; //也可以使用比如: //cin >> sd.sNumber << sd.sName << sd.sProfessionalA... 的形式 cout << "输入学生信息:" << endl; while (cin >> sd) { v.push_back(sd); n--; //信息读完后结束while循环 if (n == 0) break; } int resultA = 0, resultB = 0, resultC = 0; //遍历不及格的人数 for (Student c : v) { if (c.sProfessionalA < 60) resultA++; if (c.sProfessionalB < 60) resultB++; if (c.sProfessionalC < 60) resultC++; } cout << "ProfessionalA 不及格人数为:" << resultA << endl << "ProfessionalB 不及格人数为:" << resultB << endl << "ProfessionalC 不及格人数为:" << resultC << endl; system("pause"); return 0; }
[此贴子已经被作者于2018-11-30 19:05编辑过]