【发布时间】:2015-12-14 17:52:15
【问题描述】:
我有下面的程序,它让用户可以循环选择要购买的食物。现在,当用户完成选择食物时,我需要一种方法来打破循环。当用户输入Y 表示是时,程序应该要求下一个食物。
如果用户输入N 否,程序应该中断循环并打印出所有选择的食物的总价。
p("[1] Spinach\n");
p("[2] Romaine\n");
p("[3] Mustard\n");
p("[4] Carrots\n");
p("[5] Potato\n");
p("[6] Yam\n");
p("[7] Asparagus\n");
p("[8] Brocolli\n");
p("[9] Melon\n");
p("[10] Strawberry\n");
do{
p("Pick food: ");
s("%d",&choice);
if(choice == 1){
p("\n\nHow many grams of Spinach? ");
s("%f",&spinach);
spinachT+=spinach*spinachP;
p("\nPrice: P %.2f",spinachT);
p("Enter again?");
s("%s", &yn);
if(strcmp(yn, "y")==0){
??? enter again new food
}else{
??? stop print price
}
}
}while(choice == 11);
}
【问题讨论】:
-
不要缩短标准函数名称,这会使您的代码难以被他人理解,而这将包括您自己在几个月内。
-
p 代表 printf,s 代表 scanf。对不起,我的坏..
-
那么您可能想了解
break和continue语句。 -
期望的行为是什么?
-
想一想:你真的想“突破”一个 if 语句吗?或者你想打破 do-while 语句? (我不会解决这个作业。)