gpt4 book ai didi

c - 从 For 循环中获取 Switch 语句

转载 作者:太空宇宙 更新时间:2023-11-04 06:41:14 25 4
gpt4 key购买 nike

#include <stdio.h>

int i, party;
char x = ' ';
float total = 0, perCost = 0;
main(){

switch (toupper(x)) {
case 'A':
printf("Combo A: Friend Chicken with slaw [price: 4.25]");
perCost = 4.24;
break;
case 'B':
printf("Combo B: Roast beef with mashed potato [price: 5.75]");
perCost = 5.75;
break;
case 'C':
printf("Combo A: Fish and chips [price: 5.25]");
perCost = 5.25;
break;
case 'D':
printf("Combo A: soup and salad [price: 3.74]");
perCost = 3.75;
break;
default:
perCost = 0;
break;
}

printf("Enter Party Total: ");
scanf("%d", &party);
for (i = 0; i < party; i++) {
printf("Enter item ordered [A/B/C/D/X]: ");
scanf("%c%*c", &x);
}
total = total + perCost;
printf("%f\n", total);
}

是什么导致我的程序无法从 switch 语句中抓取?

最佳答案

根据给定的代码,当第一次执行到 switch()x 的值是' ' ,所以通过执行 switch()给出 perCost = 0执行 switch() 中的默认条件让你相信程序会抢到 switch() .(注意执行不会再回到这里)

要实现您的预​​期,请提供 switch()for (i = 0; i < party; i++)里面循环,具体来说,在你的 scanf 下面.

请注意 total = total + perCost;放错地方了,截至目前,它不会计算总数但只给出 perCost您订购的最后一个组合。这也应该在循环内。

你需要一个#include <cctype.h>在你的程序中。

关于c - 从 For 循环中获取 Switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7898469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com