用c++将这个学生成绩管理系统写出来
时间: 2024-03-06 11:46:59 浏览: 17
好的,我可以给你提供一个简单的 C++ 学生成绩管理系统的代码示例。这个示例可以实现基本的学生成绩管理系统功能,包括添加学生、添加课程、添加成绩、查询成绩、统计成绩等。以下是示例代码:
```
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 学生类
class Student {
public:
string name; // 学生姓名
int id; // 学生学号
string clazz; // 学生班级
};
// 课程类
class Course {
public:
string name; // 课程名称
int id; // 课程编号
int credit; // 课程学分
};
// 成绩类
class Score {
public:
int student_id; // 学生学号
int course_id; // 课程编号
int score; // 成绩
};
// 学生成绩管理系统类
class ScoreManager {
public:
// 添加学生
void add_student() {
Student student;
cout << "请输入学生姓名:";
cin >> student.name;
cout << "请输入学生学号:";
cin >> student.id;
cout << "请输入学生班级:";
cin >> student.clazz;
students.push_back(student);
cout << "添加学生成功!" << endl;
}
// 添加课程
void add_course() {
Course course;
cout << "请输入课程名称:";
cin >> course.name;
cout << "请输入课程编号:";
cin >> course.id;
cout << "请输入课程学分:";
cin >> course.credit;
courses.push_back(course);
cout << "添加课程成功!" << endl;
}
// 添加成绩
void add_score() {
Score score;
cout << "请输入学生学号:";
cin >> score.student_id;
cout << "请输入课程编号:";
cin >> score.course_id;
cout << "请输入成绩:";
cin >> score.score;
scores.push_back(score);
cout << "添加成绩成功!" << endl;
}
// 查询成绩
void query_score() {
int student_id, course_id;
cout << "请输入学生学号:";
cin >> student_id;
cout << "请输入课程编号:";
cin >> course_id;
for (auto score : scores) {
if (score.student_id == student_id && score.course_id == course_id) {
cout << "学生姓名:" << get_student_name(student_id) << endl;
cout << "课程名称:" << get_course_name(course_id) << endl;
cout << "成绩:" << score.score << endl;
return;
}
}
cout << "未查询到该学生该课程的成绩!" << endl;
}
// 统计成绩
void stat_score() {
int course_id;
cout << "请输入课程编号:";
cin >> course_id;
int count = 0;
int sum = 0;
int max_score = 0;
int min_score = 100;
for (auto score : scores) {
if (score.course_id == course_id) {
count++;
sum += score.score;
if (score.score > max_score) {
max_score = score.score;
}
if (score.score < min_score) {
min_score = score.score;
}
}
}
cout << "课程名称:" << get_course_name(course_id) << endl;
cout << "平均分:" << (double)sum / count << endl;
cout << "最高分:" << max_score << endl;
cout << "最低分:" << min_score << endl;
}
private:
// 获取学生姓名
string get_student_name(int student_id) {
for (auto student : students) {
if (student.id == student_id) {
return student.name;
}
}
return "";
}
// 获取课程名称
string get_course_name(int course_id) {
for (auto course : courses) {
if (course.id == course_id) {
return course.name;
}
}
return "";
}
vector<Student> students; // 学生列表
vector<Course> courses; // 课程列表
vector<Score> scores; // 成绩列表
};
int main() {
ScoreManager score_manager;
while (true) {
cout << "请选择操作:" << endl;
cout << "1. 添加学生" << endl;
cout << "2. 添加课程" << endl;
cout << "3. 添加成绩" << endl;
cout << "4. 查询成绩" << endl;
cout << "5. 统计成绩" << endl;
cout << "6. 退出程序" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1:
score_manager.add_student();
break;
case 2:
score_manager.add_course();
break;
case 3:
score_manager.add_score();
break;
case 4:
score_manager.query_score();
break;
case 5:
score_manager.stat_score();
break;
case 6:
return 0;
default:
cout << "输入错误,请重新输入!" << endl;
break;
}
}
return 0;
}
```
这个示例代码可以实现基本的学生成绩管理系统功能,包括添加学生、添加课程、添加成绩、查询成绩、统计成绩等。你可以根据需要进行修改和扩展。希望这个示例对你有所帮助。