学生成绩系统的设计和实现代码
时间: 2024-03-24 18:41:17 浏览: 58
下面是一个基于C++的学生成绩系统的设计和实现代码示例,包含基本的功能实现,如学生信息录入、成绩录入、成绩查询、报表生成等:
```c++
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
// 学生信息结构体
struct Student {
string id;
string name;
string gender;
int age;
};
// 成绩信息结构体
struct Score {
string id;
string course;
float score;
};
// 学生信息表
vector<Student> students;
// 成绩信息表
vector<Score> scores;
// 添加学生信息
void add_student() {
Student student;
cout << "请输入学生学号:";
cin >> student.id;
cout << "请输入学生姓名:";
cin >> student.name;
cout << "请输入学生性别:";
cin >> student.gender;
cout << "请输入学生年龄:";
cin >> student.age;
students.push_back(student);
cout << "添加学生信息成功!" << endl;
}
// 添加成绩信息
void add_score() {
Score score;
cout << "请输入学生学号:";
cin >> score.id;
cout << "请输入科目名称:";
cin >> score.course;
cout << "请输入成绩:";
cin >> score.score;
scores.push_back(score);
cout << "添加成绩信息成功!" << endl;
}
// 查询学生信息
void query_student() {
string id;
cout << "请输入学生学号:";
cin >> id;
for (auto student : students) {
if (student.id == id) {
cout << "学号:" << student.id << endl;
cout << "姓名:" << student.name << endl;
cout << "性别:" << student.gender << endl;
cout << "年龄:" << student.age << endl;
return;
}
}
cout << "未找到该学生信息!" << endl;
}
// 查询成绩信息
void query_score() {
string id;
cout << "请输入学生学号:";
cin >> id;
cout << "科目\t成绩" << endl;
for (auto score : scores) {
if (score.id == id) {
cout << score.course << "\t" << score.score << endl;
}
}
}
// 生成成绩报表
void generate_report() {
ofstream ofs("report.txt");
for (auto student : students) {
float total_score = 0;
int count = 0;
for (auto score : scores) {
if (score.id == student.id) {
total_score += score.score;
count++;
}
}
float average_score = (count == 0) ? 0 : (total_score / count);
ofs << "学号:" << student.id << endl;
ofs << "姓名:" << student.name << endl;
ofs << "平均成绩:" << average_score << endl;
ofs << endl;
}
ofs.close();
cout << "生成成绩报表成功!" << endl;
}
// 主函数
int main() {
while (true) {
cout << "欢迎使用学生成绩系统!" << endl;
cout << "1. 添加学生信息" << endl;
cout << "2. 添加成绩信息" << endl;
cout << "3. 查询学生信息" << endl;
cout << "4. 查询成绩信息" << endl;
cout << "5. 生成成绩报表" << endl;
cout << "6. 退出系统" << endl;
cout << "请选择操作:";
int choice;
cin >> choice;
switch (choice) {
case 1:
add_student();
break;
case 2:
add_score();
break;
case 3:
query_student();
break;
case 4:
query_score();
break;
case 5:
generate_report();
break;
case 6:
cout << "谢谢使用学生成绩系统!" << endl;
return 0;
default:
cout << "无效的操作!" << endl;
break;
}
}
return 0;
}
```
这段代码实现了一个简单的控制台程序,包含添加学生信息、添加成绩信息、查询学生信息、查询成绩信息、生成成绩报表等功能。在实际应用中,还需要根据实际需求对程序进行修改和扩展。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)