parent
ef6d346866
commit
8fdbb8ab08
@ -0,0 +1,96 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
#include <string>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
struct Student {
|
||||||
|
int id;
|
||||||
|
std::string name;
|
||||||
|
std::string gender;
|
||||||
|
int age;
|
||||||
|
std::string major;
|
||||||
|
};
|
||||||
|
|
||||||
|
class StudentManagementSystem {
|
||||||
|
|
||||||
|
public:
|
||||||
|
// 建立学生信息
|
||||||
|
std::vector<Student> students;
|
||||||
|
void addStudent(const Student& s) {
|
||||||
|
students.push_back(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询学生信息
|
||||||
|
void searchStudent(int id) {
|
||||||
|
bool found = false;
|
||||||
|
for (const Student& s : students) {
|
||||||
|
if (s.id == id) {
|
||||||
|
std::cout << "学号:" << s.id << ", 姓名:" << s.name << ", 性别:" << s.gender << ", 年龄:" << s.age << ", 专业:" << s.major << std::endl;
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!found) {
|
||||||
|
std::cout << "未找到该学号的学生。" << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除学生信息
|
||||||
|
void deleteStudent(int id) {
|
||||||
|
auto it = students.begin();
|
||||||
|
while (it != students.end()) {
|
||||||
|
if (it->id == id) {
|
||||||
|
it = students.erase(it);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
++it;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 增加学生信息
|
||||||
|
void insertStudent(const Student& s) {
|
||||||
|
students.push_back(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 按学号排序
|
||||||
|
void sortByID() {
|
||||||
|
std::sort(students.begin(), students.end(), [](const Student& a, const Student& b) {
|
||||||
|
return a.id < b.id;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
StudentManagementSystem sms;
|
||||||
|
|
||||||
|
// 添加一些学生信息
|
||||||
|
Student s1 = { 1, "张三", "男", 20, "计算机科学" };
|
||||||
|
Student s2 = { 2, "李四", "女", 21, "电子工程" };
|
||||||
|
Student s3 = { 3, "王五", "男", 19, "数学" };
|
||||||
|
|
||||||
|
sms.addStudent(s1);
|
||||||
|
sms.addStudent(s2);
|
||||||
|
sms.addStudent(s3);
|
||||||
|
|
||||||
|
// 查询学生信息
|
||||||
|
sms.searchStudent(2);
|
||||||
|
|
||||||
|
// 删除学生信息
|
||||||
|
sms.deleteStudent(2);
|
||||||
|
|
||||||
|
// 增加学生信息
|
||||||
|
Student s4 = { 4, "赵六", "女", 22, "物理学" };
|
||||||
|
sms.insertStudent(s4);
|
||||||
|
|
||||||
|
// 排序
|
||||||
|
sms.sortByID();
|
||||||
|
|
||||||
|
// 输出所有学生信息
|
||||||
|
std::cout << "所有学生信息:" << std::endl;
|
||||||
|
for (const Student& s : sms.students) {
|
||||||
|
std::cout << "学号:" << s.id << ", 姓名:" << s.name << ", 性别:" << s.gender << ", 年龄:" << s.age << ", 专业:" << s.major << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in new issue