这是我们老师留的一道上机题:
1.应用多分支选择结构、循环结构及已学的所有C语言相关知识,编写“点菜器”程序,功能要求如下:
1)在黑屏终端下,输入字母A或a,输出菜名***及单价,并询问点几份,由用户输入份数;
2)程序运行不结束,输入字母B或b,输出另一菜名***及单价,余下功能和1)类似;
3)重复2)的功能,每次菜名及单价都不一样。直至用户在黑屏终端下输入E或e,输出“就这些”并输出总价。
我写了如下代码,写完以后出现以下问题
1.循环是会出现两句 请输入您想点的菜品的序号
2.无法实现输入E或e是输出价格
我希得到出现问题的原因和修改意见或修改后的代码。
谢谢
#include<stdio.h>
int main()
{
char code;
int number,price=0;
int price1=18;//菜品一:醋溜土豆丝
int price2=30;//菜品二:爆炒羊肉
int price3=20; //菜品三:西红柿炒鸡蛋
do{
printf("请输入您想点的菜品的序号:");
scanf("%c",&code);
switch(code)
{
case 'A':
case 'a':
printf("您点的是醋溜土豆丝,单价18元。\n请输入您需要的份数:");
scanf("%d",&number);
price+=price1*number;
break;
case 'B':
case 'b':
printf("您点的是爆炒羊肉,单价30元。\n请输入您需要的份数:");
scanf("%d",&number);
price+=price2*number;
break;
case 'C':
case 'c':
printf("您点的是西红柿炒鸡蛋,单价20元。\n请输入您需要的份数:");
scanf("%d",&number);
price+=price3*number;
break;
}
if(code=='E'||code=='e')
break;
} while (code!='E'||code!='e');
printf("就这些。一共%d元。",price);
return 0;
}