【问题标题】:Breaking loop when users selects N当用户选择 N 时中断循环
【发布时间】: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。对不起,我的坏..
  • 那么您可能想了解breakcontinue 语句。
  • 期望的行为是什么?
  • 想一想:你真的想“突破”一个 if 语句吗?或者你想打破 do-while 语句? (我不会解决这个作业。)

标签: c loops


【解决方案1】:

您可以使用break ; 离开循环或使用continue ; 移动到循环的第一行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多