C语言模拟用户外卖点菜
时间: 2023-05-31 14:01:23 浏览: 93
C语言实现点餐系统
抱歉,我是一个AI语言模型,无法模拟用户外卖点菜。但是,我可以为你提供一个简单的C语言代码,可以实现用户输入菜单和数量,计算总价并输出。具体代码如下:
```c
#include <stdio.h>
#include <string.h>
#define MAX_ITEMS 5 //菜单最大数量
#define MAX_NAME_LEN 20 //菜品名称最大长度
//定义菜品结构体
typedef struct {
char name[MAX_NAME_LEN]; //菜品名称
float price; //菜品价格
} Item;
//定义菜单结构体
typedef struct {
int count; //菜品数量
Item items[MAX_ITEMS]; //菜品列表数组
} Menu;
//获取用户输入的整数
int getIntegerInput() {
int input;
scanf("%d", &input);
return input;
}
//获取用户输入的浮点数
float getFloatInput() {
float input;
scanf("%f", &input);
return input;
}
//添加菜品到菜单中
void addItem(Menu *menu, char *name, float price) {
if (menu->count < MAX_ITEMS) {
strcpy(menu->items[menu->count].name, name);
menu->items[menu->count].price = price;
menu->count++;
}
else {
printf("菜单已满,无法添加新菜品。\n");
}
}
//显示菜单
void printMenu(Menu *menu) {
printf("菜单列表:\n");
for (int i = 0; i < menu->count; i++) {
printf("%d. %s - %.2f元\n", i+1, menu->items[i].name, menu->items[i].price);
}
printf("\n");
}
//点菜
void orderFood(Menu *menu) {
printf("请输入您要点的菜品编号:\n");
int itemIndex = getIntegerInput() - 1;
if (itemIndex >= 0 && itemIndex < menu->count) {
printf("请输入您要点的数量:\n");
int quantity = getIntegerInput();
float totalPrice = menu->items[itemIndex].price * quantity;
printf("您点了 %d 份 %s,总价为 %.2f 元。\n", quantity, menu->items[itemIndex].name, totalPrice);
}
else {
printf("输入的菜品编号无效,请重新输入。\n");
}
}
int main() {
Menu menu;
menu.count = 0;
//添加菜品到菜单中
addItem(&menu, "宫保鸡丁", 28.0);
addItem(&menu, "麻婆豆腐", 18.0);
addItem(&menu, "蒸鲈鱼", 48.0);
addItem(&menu, "红烧肉", 38.0);
addItem(&menu, "水煮鱼", 38.0);
//显示菜单
printMenu(&menu);
//点菜
orderFood(&menu);
return 0;
}
```
该代码实现了一个简单的用户外卖点菜功能,具体实现如下:
1. 定义了菜品结构体和菜单结构体,其中菜单结构体包含菜品数量和菜品列表数组。
2. 实现了添加菜品到菜单中的函数addItem,该函数会将菜品名称和价格添加到菜单的菜品列表中。
3. 实现了显示菜单的函数printMenu,该函数会遍历菜单的菜品列表,并输出菜品名称和价格。
4. 实现了点菜的函数orderFood,该函数会提示用户输入菜品编号和数量,然后计算总价并输出。
5. 在main函数中,先添加了一些菜品到菜单中,然后显示菜单并让用户点菜。
运行该代码,可以看到如下输出:
```
菜单列表:
1. 宫保鸡丁 - 28.00元
2. 麻婆豆腐 - 18.00元
3. 蒸鲈鱼 - 48.00元
4. 红烧肉 - 38.00元
5. 水煮鱼 - 38.00元
请输入您要点的菜品编号:
2
请输入您要点的数量:
3
您点了 3 份 麻婆豆腐,总价为 54.00 元。
```
用户可以根据菜单中的菜品编号和数量点菜,并计算总价输出。该代码只是一个简单的示例,实际的外卖点菜功能需要更复杂的实现和交互设计。
阅读全文