C++实现简单学生管理系统
概述
这是一个基于C++语言的简单学生管理系统,可实现学生信息的添加、删除、修改、查询、打印等功能。主要分为4个模块:菜单选择、学生信息操作、文件读写和程序退出。
菜单选择
菜单选择模块主要用于输出菜单并接受用户输入的选项。
void showMenu() {
cout << "*****学生管理系统*****" << endl;
cout << " 1.添加学生信息" << endl;
cout << " 2.删除学生信息" << endl;
cout << " 3.修改学生信息" << endl;
cout << " 4.查询学生信息" << endl;
cout << " 5.打印学生信息" << endl;
cout << " 6.退出程序" << endl;
cout << "************************" << endl;
}
int getInput() {
int option = 0;
cout << "请输入选项:" << endl;
cin >> option;
return option;
}
学生信息操作
学生信息操作模块主要用于添加、删除、修改、查询和打印学生信息。
学生信息结构体
struct Student {
string name;
int id;
int age;
string gender;
float score;
};
添加学生信息
void addStudent(vector<Student>& vec) {
Student stu;
cout << "请输入学生姓名:" << endl;
cin >> stu.name;
cout << "请输入学生学号:" << endl;
cin >> stu.id;
cout << "请输入学生年龄:" << endl;
cin >> stu.age;
cout << "请输入学生性别:" << endl;
cin >> stu.gender;
cout << "请输入学生成绩:" << endl;
cin >> stu.score;
vec.push_back(stu);
cout << "添加成功!" << endl;
}
删除学生信息
void deleteStudent(vector<Student>& vec) {
int id;
cout << "请输入要删除的学生学号:" << endl;
cin >> id;
for (auto it = vec.begin(); it != vec.end(); it++) {
if (it->id == id) {
vec.erase(it);
cout << "删除成功!" << endl;
return;
}
}
cout << "未找到该学生信息!" << endl;
}
修改学生信息
void modifyStudent(vector<Student>& vec) {
int id;
cout << "请输入要修改的学生学号:" << endl;
cin >> id;
for (auto& stu : vec) {
if (stu.id == id) {
cout << "请输入学生姓名:" << endl;
cin >> stu.name;
cout << "请输入学生年龄:" << endl;
cin >> stu.age;
cout << "请输入学生性别:" << endl;
cin >> stu.gender;
cout << "请输入学生成绩:" << endl;
cin >> stu.score;
cout << "修改成功!" << endl;
return;
}
}
cout << "未找到该学生信息!" << endl;
}
查询学生信息
void queryStudent(vector<Student>& vec) {
int id;
cout << "请输入要查询的学生学号:" << endl;
cin >> id;
for (auto& stu : vec) {
if (stu.id == id) {
cout << "姓名: " << stu.name << endl;
cout << "学号: " << stu.id << endl;
cout << "年龄: " << stu.age << endl;
cout << "性别: " << stu.gender << endl;
cout << "成绩: " << stu.score << endl;
return;
}
}
cout << "未找到该学生信息!" << endl;
}
打印学生信息
void printStudent(vector<Student>& vec) {
cout << "学生信息列表:" << endl;
for (auto& stu : vec) {
cout << "姓名: " << stu.name << endl;
cout << "学号: " << stu.id << endl;
cout << "年龄: " << stu.age << endl;
cout << "性别: " << stu.gender << endl;
cout << "成绩: " << stu.score << endl;
cout << "---------------" << endl;
}
}
文件读写
文件读写模块主要用于将学生信息保存在文件中并从文件中读取学生信息。
写入学生信息
void saveData(vector<Student>& vec, string fileName) {
ofstream outFile;
outFile.open(fileName, ios::out | ios::trunc);
for (auto& stu : vec) {
outFile << stu.name << " " << stu.id << " " << stu.age
<< " " << stu.gender << " " << stu.score << endl;
}
cout << "保存成功!" << endl;
outFile.close();
}
读取学生信息
void loadData(vector<Student>& vec, string fileName) {
ifstream inFile;
inFile.open(fileName, ios::in);
if (!inFile) {
cout << "文件不存在!" << endl;
return;
}
Student stu;
while (inFile >> stu.name >> stu.id >> stu.age >> stu.gender >> stu.score) {
vec.push_back(stu);
}
cout << "读取成功!" << endl;
inFile.close();
}
程序退出
程序退出模块主要用于在用户选择退出程序时结束程序运行。
void exitProgram() {
cout << "程序已退出!" << endl;
exit(0);
}
示例说明
示例1
*****学生管理系统*****
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.打印学生信息
6.退出程序
************************
请输入选项:
1
请输入学生姓名:
张三
请输入学生学号:
1001
请输入学生年龄:
18
请输入学生性别:
男
请输入学生成绩:
90
添加成功!
请输入选项:
5
学生信息列表:
姓名: 张三
学号: 1001
年龄: 18
性别: 男
成绩: 90
---------------
请输入选项:
6
程序已退出!
示例2
*****学生管理系统*****
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.打印学生信息
6.退出程序
************************
请输入选项:
1
请输入学生姓名:
李四
请输入学生学号:
1002
请输入学生年龄:
20
请输入学生性别:
女
请输入学生成绩:
80
添加成功!
请输入选项:
4
请输入要查询的学生学号:
1002
姓名: 李四
学号: 1002
年龄: 20
性别: 女
成绩: 80
请输入选项:
2
请输入要删除的学生学号:
1002
删除成功!
请输入选项:
5
学生信息列表:
姓名: 张三
学号: 1001
年龄: 18
性别: 男
成绩: 90
---------------
请输入选项:
3
请输入要修改的学生学号:
1001
请输入学生姓名:
张三丰
请输入学生年龄:
22
请输入学生性别:
男
请输入学生成绩:
95
修改成功!
请输入选项:
5
学生信息列表:
姓名: 张三丰
学号: 1001
年龄: 22
性别: 男
成绩: 95
---------------
请输入选项:
6
程序已退出!
以上就是C++实现简单学生管理系统的完整攻略,希望能对您有帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++实现简单学生管理系统 - Python技术站