学生成绩管理系统c++
时间: 2023-06-29 22:16:48 浏览: 58
好的,您想了解关于学生成绩管理系统的C++实现,我可以给您一些思路和建议。
首先,我们需要确定该学生成绩管理系统的基本功能:学生信息的录入、查询、修改、删除、成绩录入、成绩查询、成绩统计和排名等。
接下来,我们可以考虑使用C++语言来实现这些功能。可以采用面向对象的编程思想,将学生信息和成绩信息封装成一个类,通过类的成员函数来实现上述功能。
以下是一个简单的学生成绩管理系统的C++实现示例:
```
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
//定义学生信息类
class Student {
public:
string name; //学生姓名
int id; //学生学号
vector<int> scores; //学生成绩
//构造函数
Student(string name, int id) : name(name), id(id) {}
//成绩录入函数
void input_score(int score) {
scores.push_back(score);
}
//成绩查询函数
void query_score() {
cout << "学生" << name << "的成绩为:";
for (int i = 0; i < scores.size(); i++) {
cout << scores[i] << " ";
}
cout << endl;
}
//成绩统计函数
int get_total_score() {
int total_score = 0;
for (int i = 0; i < scores.size(); i++) {
total_score += scores[i];
}
return total_score;
}
//重载小于运算符,用于排序
bool operator<(const Student& s) const {
return get_total_score() > s.get_total_score();
}
};
//定义学生成绩管理系统类
class ScoreManager {
public:
vector<Student> students; //学生信息列表
//学生信息录入函数
void input_student() {
string name;
int id;
cout << "请输入学生姓名和学号:" << endl;
cin >> name >> id;
students.push_back(Student(name, id));
cout << "录入成功!" << endl;
}
//学生信息查询函数
void query_student() {
int id;
cout << "请输入要查询的学生学号:" << endl;
cin >> id;
for (int i = 0; i < students.size(); i++) {
if (students[i].id == id) {
students[i].query_score();
return;
}
}
cout << "找不到该学生!" << endl;
}
//学生信息修改函数
void modify_student() {
int id;
cout << "请输入要修改的学生学号:" << endl;
cin >> id;
for (int i = 0; i < students.size(); i++) {
if (students[i].id == id) {
int score;
cout << "请输入要修改的科目成绩:" << endl;
cin >> score;
students[i].input_score(score);
cout << "修改成功!" << endl;
return;
}
}
cout << "找不到该学生!" << endl;
}
//学生信息删除函数
void delete_student() {
int id;
cout << "请输入要删除的学生学号:" << endl;
cin >> id;
for (int i = 0; i < students.size(); i++) {
if (students[i].id == id) {
students.erase(students.begin() + i);
cout << "删除成功!" << endl;
return;
}
}
cout << "找不到该学生!" << endl;
}
//学生信息排名函数
void rank_student() {
sort(students.begin(), students.end());
for (int i = 0; i < students.size(); i++) {
cout << "第" << i+1 << "名:" << students[i].name << ",总成绩为:" << students[i].get_total_score() << endl;
}
}
};
int main() {
ScoreManager sm;
int op;
while (true) {
cout << "请输入操作编号(1.录入学生信息 2.查询学生信息 3.修改学生成绩 4.删除学生信息 5.学生排名 0.退出):" << endl;
cin >> op;
switch (op) {
case 1:
sm.input_student();
break;
case 2:
sm.query_student();
break;
case 3:
sm.modify_student();
break;
case 4:
sm.delete_student();
break;
case 5:
sm.rank_student();
break;
case 0:
return 0;
default:
cout << "输入错误,请重新输入!" << endl;
break;
}
}
return 0;
}
```
以上是一个简单的学生成绩管理系统的C++实现示例,仅供参考。该示例中使用了面向对象的编程思想,将学生信息和成绩信息封装成一个类,通过类的成员函数来实现学生成绩管理系统的基本功能。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)