写一个c语言简单点菜系统
时间: 2023-08-16 20:09:45 浏览: 82
好的,下面是一个简单的C语言点菜系统的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 菜品结构体
struct dish {
char name[20]; // 菜名
float price; // 价格
};
// 菜单数组
struct dish menu[] = {
{"宫保鸡丁", 22.0},
{"鱼香肉丝", 20.0},
{"红烧肉", 18.0},
{"清蒸鲈鱼", 28.0},
{"糖醋排骨", 26.0},
{"蒸蛋", 8.0},
{"炒饭", 12.0},
{"炒面", 10.0},
{"牛肉面", 15.0},
{"烤鸭", 38.0},
{"水煮鱼", 32.0},
{"麻辣香锅", 30.0},
{"火锅", 35.0},
{"米饭", 2.0}
};
int main() {
int choice; // 用户选择的菜品编号
int num; // 用户选择的菜品数量
float total = 0.0; // 总价
// 打印菜单
printf("欢迎光临!请看菜单:\n");
for (int i = 0; i < 14; i++) {
printf("%d. %s\t%.1f元\n", i+1, menu[i].name, menu[i].price);
}
// 用户点菜
while (1) {
printf("请输入要点的菜品编号(输入0结束点菜):");
scanf("%d", &choice);
if (choice == 0) {
break;
}
if (choice < 0 || choice > 14) {
printf("输入有误,请重新输入!\n");
continue;
}
printf("请输入%s的数量:", menu[choice-1].name);
scanf("%d", &num);
if (num <= 0) {
printf("输入有误,请重新输入!\n");
continue;
}
total += num * menu[choice-1].price;
printf("%s %d份已点!\n", menu[choice-1].name, num);
}
// 结账
printf("您本次点菜总价为%.1f元,谢谢光临!\n", total);
return 0;
}
```
这个程序先打印菜单,然后让用户输入要点的菜品编号和数量,直到用户输入0结束点菜。程序会计算总价并打印结账信息。注意在用户输入错误的情况下,程序会提示用户重新输入。
当然,这个程序还可以根据需要进行优化和扩展。