实现一个简单的学生学生管理系统,学生的属性信息包括:姓名、学号、性别、家庭住址、专业。 要求能够对学生信息进行增删改查,要具有增删改查的界面。
时间: 2023-07-10 14:33:02 浏览: 39
好的,这是一个很好的问题,我可以帮你实现这个学生管理系统。以下是一个简单的实现方案:
1. 首先,我们需要设计学生的类,包括姓名、学号、性别、家庭住址、专业这些属性。我们可以定义一个类 `Student` 来表示学生。
```
class Student {
public:
string name;
string id;
string gender;
string address;
string major;
};
```
2. 接下来,我们需要一个容器来存储所有的学生信息。我们可以使用一个 `vector` 来存储学生对象。
```
vector<Student> students;
```
3. 然后,我们需要实现增删改查的功能。我们可以分别实现一个函数来完成这些操作。
- 增加学生信息:我们可以定义一个 `addStudent` 函数来添加一个学生对象到 `vector` 中。
```
void addStudent(Student s) {
students.push_back(s);
}
```
- 删除学生信息:我们可以定义一个 `deleteStudent` 函数来删除一个学生对象。
```
void deleteStudent(int index) {
students.erase(students.begin() + index);
}
```
- 修改学生信息:我们可以定义一个 `editStudent` 函数来修改一个学生对象的属性。
```
void editStudent(int index, Student s) {
students[index] = s;
}
```
- 查找学生信息:我们可以定义一个 `findStudent` 函数来查找符合条件的学生对象。
```
vector<Student> findStudent(string name) {
vector<Student> result;
for (auto s : students) {
if (s.name == name) {
result.push_back(s);
}
}
return result;
}
```
4. 最后,我们需要实现一个界面来操作学生信息。我们可以使用命令行界面来实现,通过输入不同的命令来完成不同的操作。
```
void displayMenu() {
cout << "1. Add student" << endl;
cout << "2. Delete student" << endl;
cout << "3. Edit student" << endl;
cout << "4. Find student" << endl;
cout << "5. Exit" << endl;
}
void handleInput(int choice) {
switch (choice) {
case 1: {
// Add student
Student s;
cout << "Name: ";
cin >> s.name;
cout << "ID: ";
cin >> s.id;
cout << "Gender: ";
cin >> s.gender;
cout << "Address: ";
cin >> s.address;
cout << "Major: ";
cin >> s.major;
addStudent(s);
break;
}
case 2: {
// Delete student
int index;
cout << "Index: ";
cin >> index;
deleteStudent(index);
break;
}
case 3: {
// Edit student
int index;
cout << "Index: ";
cin >> index;
Student s;
cout << "Name: ";
cin >> s.name;
cout << "ID: ";
cin >> s.id;
cout << "Gender: ";
cin >> s.gender;
cout << "Address: ";
cin >> s.address;
cout << "Major: ";
cin >> s.major;
editStudent(index, s);
break;
}
case 4: {
// Find student
string name;
cout << "Name: ";
cin >> name;
vector<Student> result = findStudent(name);
for (auto s : result) {
cout << "Name: " << s.name << endl;
cout << "ID: " << s.id << endl;
cout << "Gender: " << s.gender << endl;
cout << "Address: " << s.address << endl;
cout << "Major: " << s.major << endl;
}
break;
}
case 5: {
// Exit
exit(0);
}
default: {
cout << "Invalid input" << endl;
break;
}
}
}
int main() {
while (true) {
displayMenu();
int choice;
cout << "Choice: ";
cin >> choice;
handleInput(choice);
}
return 0;
}
```
这就是一个简单的学生管理系统的实现方案。当然,这只是一个基本的实现,还有很多地方可以进行优化和改进,例如增加数据持久化、界面美化等等。