Как добавить выборки вместе с помощью оператора switch в C? - PullRequest
0 голосов
/ 02 октября 2019

Я написал большую часть своей программы, но в ней что-то не хватает. Я написал меню и перечислил пункты для выбора и выписал оператор switch для запуска выбора. Как мне получить, чтобы сложить варианты вместе, чтобы получить общую сумму? Прямо сейчас он запрашивает два варианта (изменит это на 3 позже) и запускает сумму для первого варианта только после того, как два варианта введены. Не уверен, что не так.

printf("1. Hamburger        $%.2lf \n", Hamburger_Price);
printf("2. Cheeseburger     $%.2lf \n", Cheeseburger_Price);
printf("3. Chicken Sandwich $%.2lf \n", Chicken_Sandwich_Price);
printf("4. Fries            $%.2lf \n", Fries_Price);
printf("5. Onion Rings      $%.2lf \n", Onion_Rings_Price);
printf("6. Soda             $%.2lf \n", Soda_Price);
printf("7. Milkshake        $%.2lf \n", Milkshake_Price);
printf("8. Exit\n\n");

printf("Please make a selection: ");
scanf("%i", &selection);


switch(selection)
{
case 1:
totalprice += Hamburger_Price;
break;

case 2:
totalprice += Cheeseburger_Price;
break;

case 3:
totalprice += Chicken_Sandwich_Price;
break;

case 4:
totalprice += Fries_Price;
break;

case 5:
totalprice += Onion_Rings_Price;
break;

case 6:
totalprice += Soda_Price;
break;

case 7:
totalprice += Milkshake_Price;
break;

case 8:
printf("Thank you for your order. \n");
break;

default:
printf("Sorry we dont have that. \n");
}

printf("Please make another selection: ");
scanf("%i", &selection);


printf("Your total comes to $%.2lf \n\n", totalprice);

1 Ответ

0 голосов
/ 02 октября 2019

Оператор Switch не является оператором цикла, он выполняется только один раз. Чтобы войти в оператор switch несколько раз, вы можете поместить его в оператор цикла. И не забудьте добавить условие выхода. Например, предположим, что конечным условием будет введение значения 8:

printf("Please make a selection: ");
scanf("%i", &selection);

while(selection != 8)
{
    switch(selection)
    {
    /*your code*/
    }
    printf("Please make another selection: ");
    scanf("%i", &selection)
}
/*I think there is no need for the "case 8:" in your code*/
printf("Thank you for your order. \n");
...