学生信息管理系统c++
时间: 2023-10-18 14:10:11 浏览: 28
好的,学生信息管理系统一般需要涉及到以下几个模块:
1. 学生信息输入模块:可以通过控制台、文件或者GUI界面等方式输入学生的基本信息,如姓名、学号、性别、年龄、联系方式等。
2. 学生信息查询模块:可以根据学号、姓名、班级等关键字查询学生的详细信息。
3. 学生信息修改模块:可以修改学生的基本信息。
4. 学生信息删除模块:可以删除指定学生的信息。
5. 学生信息统计模块:可以对学生的基本信息进行统计,如男女比例、年龄段分布等。
下面给出一个简单的学生信息管理系统的代码:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
struct Student {
string name;
int age;
string gender;
string id;
string phone;
};
vector<Student> students;
void addStudent() {
Student student;
cout << "请输入姓名:";
cin >> student.name;
cout << "请输入年龄:";
cin >> student.age;
cout << "请输入性别:";
cin >> student.gender;
cout << "请输入学号:";
cin >> student.id;
cout << "请输入联系电话:";
cin >> student.phone;
students.push_back(student);
cout << "添加成功!" << endl;
}
void queryStudent() {
string keyword;
cout << "请输入查询关键字:";
cin >> keyword;
for (auto student : students) {
if (student.name == keyword || student.id == keyword) {
cout << "姓名:" << student.name << endl;
cout << "年龄:" << student.age << endl;
cout << "性别:" << student.gender << endl;
cout << "学号:" << student.id << endl;
cout << "联系电话:" << student.phone << endl;
}
}
}
void updateStudent() {
string id;
cout << "请输入要修改的学生的学号:";
cin >> id;
for (auto &student : students) {
if (student.id == id) {
cout << "请输入修改后的姓名:";
cin >> student.name;
cout << "请输入修改后的年龄:";
cin >> student.age;
cout << "请输入修改后的性别:";
cin >> student.gender;
cout << "请输入修改后的联系电话:";
cin >> student.phone;
cout << "修改成功!" << endl;
return;
}
}
cout << "未找到该学生!" << endl;
}
void deleteStudent() {
string id;
cout << "请输入要删除的学生的学号:";
cin >> id;
for (auto iter = students.begin(); iter != students.end(); iter++) {
if (iter->id == id) {
students.erase(iter);
cout << "删除成功!" << endl;
return;
}
}
cout << "未找到该学生!" << endl;
}
void statisticsStudent() {
int maleCount = 0, femaleCount = 0;
int ageSum = 0;
for (auto student : students) {
if (student.gender == "男") {
maleCount++;
} else {
femaleCount++;
}
ageSum += student.age;
}
int totalCount = students.size();
double averageAge = totalCount == 0 ? 0 : (double)ageSum / totalCount;
cout << "男生人数:" << maleCount << endl;
cout << "女生人数:" << femaleCount << endl;
cout << "平均年龄:" << averageAge << 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;
int choice;
cin >> choice;
switch (choice) {
case 1:
addStudent();
break;
case 2:
queryStudent();
break;
case 3:
updateStudent();
break;
case 4:
deleteStudent();
break;
case 5:
statisticsStudent();
break;
case 6:
return 0;
default:
cout << "无效的选择!" << endl;
}
}
}
```
这个示例代码中,使用了一个结构体 Student 来存储每个学生的基本信息,使用了 vector 容器来存储所有学生的信息。在主函数中,通过一个无限循环来实现选择功能的过程,根据用户的选择调用相应的函数来实现对学生信息的管理。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)