用C++实现排队窗口管理系统
时间: 2024-02-27 15:52:21 浏览: 97
好的,排队窗口管理系统一般包括以下功能:
1. 排队功能:用户可以在系统中排队等待服务。
2. 叫号功能:服务员可以根据当前排队情况叫号,通知下一位用户前来服务。
3. 管理功能:管理员可以查看当前排队情况,删除队列中的某个用户,修改某个用户的信息等。
下面是一个简单的排队窗口管理系统的C++实现:
```c++
#include <iostream>
#include <queue>
#include <string>
using namespace std;
struct Customer {
string name;
int num;
};
queue<Customer> q;
void enqueue() {
Customer c;
cout << "请输入姓名和编号:" << endl;
cin >> c.name >> c.num;
q.push(c);
cout << "已加入队列!" << endl;
}
void dequeue() {
if (q.empty()) {
cout << "队列为空!" << endl;
return;
}
Customer c = q.front();
q.pop();
cout << "请" << c.name << "到窗口" << c.num << "!" << endl;
}
void display() {
if (q.empty()) {
cout << "队列为空!" << endl;
return;
}
cout << "当前排队情况:" << endl;
queue<Customer> tmp = q;
while (!tmp.empty()) {
Customer c = tmp.front();
tmp.pop();
cout << c.name << " " << c.num << endl;
}
}
void del() {
if (q.empty()) {
cout << "队列为空!" << endl;
return;
}
cout << "请输入要删除的队列编号:" << endl;
int num;
cin >> num;
queue<Customer> tmp;
while (!q.empty()) {
Customer c = q.front();
q.pop();
if (c.num != num) {
tmp.push(c);
} else {
cout << "已删除" << c.name << "!" << endl;
}
}
q = tmp;
}
int main() {
while (true) {
cout << "请选择操作(1-排队,2-叫号,3-查看队列,4-删除队列,0-退出):" << endl;
int op;
cin >> op;
switch (op) {
case 1:
enqueue();
break;
case 2:
dequeue();
break;
case 3:
display();
break;
case 4:
del();
break;
case 0:
return 0;
default:
cout << "无效操作!" << endl;
break;
}
}
return 0;
}
```
这个程序使用了STL库中的队列(queue)数据结构,实现了排队、叫号、查看队列和删除队列等功能。您可以根据实际需求进行修改和完善。
阅读全文