C++实现一个学生饭堂点餐系统,要求有两种角色,同时实现增删查改功能,并且使用结构体数组
时间: 2024-03-21 11:42:07 浏览: 15
好的,我可以为您提供一个简单的C++学生饭堂点餐系统的示例代码,满足您的要求。以下是代码:
```
#include <iostream>
#include <string>
using namespace std;
// 定义结构体
struct Student {
string name;
string id;
string meal;
};
// 定义全局变量
const int MAX_SIZE = 100;
Student students[MAX_SIZE];
int count = 0;
// 添加学生信息
void addStudent() {
if (count >= MAX_SIZE) {
cout << "系统已满,无法添加!" << endl;
} else {
cout << "请输入学生姓名:";
cin >> students[count].name;
cout << "请输入学生学号:";
cin >> students[count].id;
cout << "请输入学生点餐:";
cin >> students[count].meal;
count++;
cout << "添加成功!" << endl;
}
}
// 删除学生信息
void deleteStudent() {
string id;
cout << "请输入要删除的学生学号:";
cin >> id;
int index = -1;
for (int i = 0; i < count; i++) {
if (students[i].id == id) {
index = i;
break;
}
}
if (index == -1) {
cout << "没有找到要删除的学生!" << endl;
} else {
for (int i = index + 1; i < count; i++) {
students[i - 1] = students[i];
}
count--;
cout << "删除成功!" << endl;
}
}
// 修改学生信息
void modifyStudent() {
string id;
cout << "请输入要修改的学生学号:";
cin >> id;
int index = -1;
for (int i = 0; i < count; i++) {
if (students[i].id == id) {
index = i;
break;
}
}
if (index == -1) {
cout << "没有找到要修改的学生!" << endl;
} else {
cout << "请输入修改后的学生姓名:";
cin >> students[index].name;
cout << "请输入修改后的学生点餐:";
cin >> students[index].meal;
cout << "修改成功!" << endl;
}
}
// 查找学生信息
void searchStudent() {
string id;
cout << "请输入要查找的学生学号:";
cin >> id;
int index = -1;
for (int i = 0; i < count; i++) {
if (students[i].id == id) {
index = i;
break;
}
}
if (index == -1) {
cout << "没有找到要查找的学生!" << endl;
} else {
cout << "姓名:" << students[index].name << endl;
cout << "学号:" << students[index].id << endl;
cout << "点餐:" << students[index].meal << endl;
}
}
// 显示所有学生信息
void showAllStudents() {
for (int i = 0; i < count; i++) {
cout << "姓名:" << students[i].name << endl;
cout << "学号:" << students[i].id << endl;
cout << "点餐:" << students[i].meal << endl;
cout << endl;
}
}
// 主函数
int main() {
int choice;
while (true) {
cout << "请选择操作:1.添加 2.删除 3.修改 4.查找 5.显示所有 6.退出" << endl;
cin >> choice;
switch (choice) {
case 1:
addStudent();
break;
case 2:
deleteStudent();
break;
case 3:
modifyStudent();
break;
case 4:
searchStudent();
break;
case 5:
showAllStudents();
break;
case 6:
cout << "程序已退出!" << endl;
return 0;
default:
cout << "输入错误,请重新输入!" << endl;
break;
}
}
return 0;
}
```
在这个示例代码中,我们定义了一个结构体`Student`来存储学生的姓名、学号和点餐信息。使用一个结构体数组`students`来存储所有学生的信息。然后定义了`count`来表示当前存储的学生数量。
接下来,我们定义了五个函数来实现增删查改和显示所有学生信息的功能。
最后,在`main`函数中使用一个循环来不断读取用户的操作选择,并调用相应的函数来实现相应的操作。
希望这个示例代码能够帮助您实现学生饭堂点餐系统。