c语言运用指针传参完成点菜系统
时间: 2023-08-08 15:04:23 浏览: 162
好,我可以为您解答。下面是一个简的点菜系统的 C 代码:
```c
#include <stdio.h>
#include <stdlib.h>
void order(int *order_list, int *count) {
int dish;
printf("请输入您要点的菜品编号:\n");
printf("1. 鱼香肉丝\n2. 宫保鸡丁\n3. 糖醋里脊\n4. 地三鲜\n");
scanf("%d", &dish);
order_list[*count] = dish;
(*count)++;
}
int main() {
int order_list[10];
int count = 0;
char continue_order;
do {
order(order_list, &count);
printf("是否继续点菜?(Y/N)\n");
scanf(" %c", &continue_order);
} while (continue_order == 'Y' || continue_order == 'y');
printf("您点的菜品有:\n");
for (int i = 0; i < count; i++) {
switch (order_list[i]) {
case 1:
printf("鱼香肉丝\n");
break;
case 2:
printf("宫保鸡丁\n");
break;
case 3:
printf("糖醋里脊\n");
break;
case 4:
printf("地三鲜\n");
break;
default:
printf("菜品编号输入有误!\n");
break;
}
}
return 0;
}
```
这个代码中,我们定义了一个 `order` 函数,它接受两个参数:一个是订单列表,一个是订单数量。在函数内部,我们使用 `scanf` 获取用户输入的菜品编号,然后将其存入订单列表中,并将订单数量加 1。注意,我们使用了指针传参的方式来修改订单数量的值。
在 `main` 函数中,我们定义了一个长度为 10 的订单列表和一个订单数量计数器。然后,我们使用一个 do-while 循环来让用户反复点菜,直到用户选择不再点菜为止。在每次点菜后,我们都会询问用户是否继续点菜,并根据用户的输入来判断是否需要继续点菜。
最后,我们输出用户点的菜品列表。
希望这个代码能够帮助您理解如何使用指针传参来完成点菜系统。
阅读全文