Dengan perkembangan pendidikan, peperiksaan akademik telah menjadi bahagian penting dalam kehidupan seharian manusia. Bagi pelajar, markah ujian adalah penunjuk penting hasil pembelajaran mereka. Oleh itu, adalah sangat perlu untuk menjalankan analisis saintifik dan statistik mengenai markah ujian. Di sini, kami akan memperkenalkan cara menggunakan C++ untuk melaksanakan program analisis skor ujian pelajar yang mudah.
1. Analisis Keperluan
Sebelum kita mula menulis program, kita perlu menganalisis keperluan program dengan jelas, termasuk fungsi program, input dan output, dsb. Keperluan khusus adalah seperti berikut:
Design structure
Kerana program ini perlu mengendalikan peperiksaan berbilang pelajar Gred, jadi kita boleh menggunakan struktur untuk menyimpan maklumat tentang setiap pelajar. Kod khusus adalah seperti berikut:struct Student { string name; // 学生姓名 int chinese; // 语文成绩 int math; // 数学成绩 int english; // 英语成绩 int total; // 总成绩 };
void inputStudent(Student &stu){ //输入学生信息 cin >> stu.name >> stu.chinese >> stu.math >> stu.english; stu.total = stu.chinese + stu.math + stu.english; } void outputStudent(const Student &stu){ //输出学生信息 cout << stu.name << " " << stu.chinese << " " << stu.math << " " << stu.english << " " << stu.total <<endl; //输出每个学生的信息 }
int calcTotalScore(const Student &stu){ //计算总分 return stu.chinese + stu.math + stu.english; } double calcAverageScore(const Student &stu){ //计算平均分 return (stu.chinese + stu.math + stu.english) / 3.0; } int getMaxScore(const vector<Student> &students){ //获取最高分 int max_score = 0; for(int i = 0; i < students.size(); i++){ if(students[i].total > max_score) max_score = students[i].total; } return max_score; } int getMinScore(const vector<Student> &students){ //获取最低分 int min_score = 100; for(int i = 0; i < students.size(); i++){ if(students[i].total < min_score) min_score = students[i].total; } return min_score; }
bool cmpTotalScore(const Student &stu1, const Student &stu2){ //按总分排序 return stu1.total > stu2.total; } bool cmpChineseScore(const Student &stu1, const Student &stu2){ //按语文成绩排序 return stu1.chinese > stu2.chinese; } bool cmpMathScore(const Student &stu1, const Student &stu2){ //按数学成绩排序 return stu1.math > stu2.math; } bool cmpEnglishScore(const Student &stu1, const Student &stu2){ //按英语成绩排序 return stu1.english > stu2.english; }
#🎜🎜 #Pertanyaan gabungan Ia merupakan satu lagi fungsi utama dalam program ini Ia boleh menjalankan pertanyaan berbilang syarat pada markah ujian pelajar mengikut keperluan pengguna. Kami boleh menggunakan pernyataan if dan menukar pernyataan untuk melaksanakan pertanyaan gabungan Kod khusus adalah seperti berikut:
void searchStudent(vector<Student> &students){ //查询学生成绩 int cmd; //查询方式 cout << "请选择查询方式:1. 按姓名查询;2. 按总分查询" << endl; cin >> cmd; switch (cmd) { case 1: //按姓名查询 { string name; cout << "请输入学生姓名:" << endl; cin >> name; for(int i = 0; i < students.size(); i++) { if(students[i].name == name) outputStudent(students[i]); } } break; case 2: //按总分查询 { int min_score, max_score; cout << "请输入查询范围:" << endl; cin >> min_score >> max_score; for(int i = 0; i < students.size(); i++) { if(students[i].total >= min_score && students[i].total <= max_score) outputStudent(students[i]); } } break; default: cout << "输入错误,请重新输入!" << endl; break; } }
Jalankan fail boleh laku, masukkan maklumat dan arahan pelajar dalam baris arahan, dan semak kesan berjalan program.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan C++ untuk melaksanakan program analisis skor ujian pelajar yang mudah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!