学生成绩管理系统c++
时间: 2023-07-19 08:35:23 浏览: 35
好的,您想了解关于学生成绩管理系统的C++实现,这是一个常见的C++项目。这个项目的目标是实现一个可以管理学生成绩的系统,包括添加学生、删除学生、修改学生信息、查询学生信息以及计算学生平均分等功能。以下是一个简单的实现框架:
1. 定义一个学生类,包括学生姓名、学号、课程成绩等属性和方法。
2. 创建一个学生管理类,用来管理学生信息,包括学生的增删改查等操作。
3. 主函数中,创建学生管理对象,并提供一个用户界面,让用户可以进行相应的操作。
以下是一个简单的代码实现:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Student {
private:
string name;
int id;
vector<int> scores;
public:
Student(string name, int id): name(name), id(id) {}
string getName() { return name; }
int getId() { return id; }
vector<int> getScores() { return scores; }
void addScore(int score) { scores.push_back(score); }
float getAverageScore() {
int sum = 0;
for (int score : scores) {
sum += score;
}
return (float)sum / scores.size();
}
};
class StudentManager {
private:
vector<Student> students;
public:
void addStudent(Student student) {
students.push_back(student);
}
void removeStudent(int id) {
for (int i = 0; i < students.size(); i++) {
if (students[i].getId() == id) {
students.erase(students.begin() + i);
break;
}
}
}
void modifyStudent(int id, string name, vector<int> scores) {
for (int i = 0; i < students.size(); i++) {
if (students[i].getId() == id) {
students[i] = Student(name, id);
for (int score : scores) {
students[i].addScore(score);
}
break;
}
}
}
Student queryStudent(int id) {
for (Student student : students) {
if (student.getId() == id) {
return student;
}
}
return Student("", -1);
}
vector<Student> queryAllStudents() {
return students;
}
};
int main() {
StudentManager studentManager;
while (true) {
cout << "1. Add student" << endl;
cout << "2. Remove student" << endl;
cout << "3. Modify student" << endl;
cout << "4. Query student" << endl;
cout << "5. Query all students" << endl;
cout << "6. Exit" << endl;
int option;
cin >> option;
if (option == 1) {
string name;
int id;
cout << "Enter name: ";
cin >> name;
cout << "Enter id: ";
cin >> id;
Student student(name, id);
int score;
while (true) {
cout << "Enter score (type -1 to exit): ";
cin >> score;
if (score == -1) {
break;
}
student.addScore(score);
}
studentManager.addStudent(student);
} else if (option == 2) {
int id;
cout << "Enter id: ";
cin >> id;
studentManager.removeStudent(id);
} else if (option == 3) {
int id;
string name;
vector<int> scores;
cout << "Enter id: ";
cin >> id;
cout << "Enter name: ";
cin >> name;
int score;
while (true) {
cout << "Enter score (type -1 to exit): ";
cin >> score;
if (score == -1) {
break;
}
scores.push_back(score);
}
studentManager.modifyStudent(id, name, scores);
} else if (option == 4) {
int id;
cout << "Enter id: ";
cin >> id;
Student student = studentManager.queryStudent(id);
if (student.getId() == -1) {
cout << "Student not found" << endl;
} else {
cout << "Name: " << student.getName() << endl;
cout << "Id: " << student.getId() << endl;
cout << "Scores: ";
for (int score : student.getScores()) {
cout << score << " ";
}
cout << endl;
cout << "Average score: " << student.getAverageScore() << endl;
}
} else if (option == 5) {
vector<Student> students = studentManager.queryAllStudents();
if (students.size() == 0) {
cout << "No students found" << endl;
} else {
for (Student student : students) {
cout << "Name: " << student.getName() << endl;
cout << "Id: " << student.getId() << endl;
cout << "Scores: ";
for (int score : student.getScores()) {
cout << score << " ";
}
cout << endl;
cout << "Average score: " << student.getAverageScore() << endl;
cout << endl;
}
}
} else if (option == 6) {
break;
} else {
cout << "Invalid option" << endl;
}
cout << endl;
}
return 0;
}
```
以上就是一个简单的学生成绩管理系统的C++实现,可以根据实际需要进行修改和扩展。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)