设计一个简单的奶茶店排队叫号系统,给出设计实现的功能描述,将功能描述、编制程序显示,c++
时间: 2024-02-18 14:04:51 浏览: 229
功能描述:
1. 系统可以记录每个顾客的订单信息,包括奶茶种类、甜度、温度等;
2. 系统可以按照先来先服务的原则,给每个顾客分配一个排队号码;
3. 系统可以显示当前正在制作的订单,以及等待制作的订单列表;
4. 当某个订单制作完成后,系统会自动通知顾客前来取餐。
编写程序:
```c++
#include<iostream>
#include<queue>
#include<string>
using namespace std;
struct Order{
string name;
string type;
string sweetness;
string temperature;
};
queue<Order> orders;
void take_order(){
Order order;
cout<<"请输入您的姓名:";
cin>>order.name;
cout<<"请选择奶茶种类:";
cin>>order.type;
cout<<"请选择甜度:";
cin>>order.sweetness;
cout<<"请选择温度:";
cin>>order.temperature;
orders.push(order);
cout<<"您的订单已经成功提交,您的排队号码为"<<orders.size()<<endl;
}
void show_orders(){
if(orders.empty()){
cout<<"当前没有任何订单"<<endl;
return;
}
cout<<"正在制作的订单:"<<endl;
cout<<orders.front().name<<" "<<orders.front().type<<" "<<orders.front().sweetness<<" "<<orders.front().temperature<<endl;
cout<<"等待制作的订单:"<<endl;
for(int i=1;i<orders.size();i++){
Order order=orders.front();
orders.pop();
cout<<order.name<<" "<<order.type<<" "<<order.sweetness<<" "<<order.temperature<<endl;
orders.push(order);
}
}
void finish_order(){
if(orders.empty()){
cout<<"当前没有正在制作的订单"<<endl;
return;
}
cout<<orders.front().name<<"的订单已经制作完成,请前来取餐"<<endl;
orders.pop();
}
int main(){
cout<<"欢迎来到奶茶店,您想点什么?"<<endl;
while(true){
cout<<"1. 点单"<<endl;
cout<<"2. 查看订单"<<endl;
cout<<"3. 完成订单"<<endl;
cout<<"4. 退出"<<endl;
int choice;
cin>>choice;
switch(choice){
case 1:
take_order();
break;
case 2:
show_orders();
break;
case 3:
finish_order();
break;
case 4:
return 0;
default:
cout<<"无效的选项"<<endl;
break;
}
}
}
```
这是一个简单的命令行程序,可以通过键盘输入来进行操作。运行程序后,用户可以选择点单、查看订单、完成订单或退出。如果选择点单,则需要输入奶茶的种类、甜度和温度,系统会自动分配一个排队号码。如果选择查看订单,则会显示当前正在制作的订单和等待制作的订单列表。如果选择完成订单,则会弹出当前正在制作的订单,告诉用户可以前来取餐。如果选择退出,则程序结束。
阅读全文