我已经为带有菜单的计算器编码。我正在尝试使用switch case
。我的问题是,当程序询问值时,菜单不会在情况0下立即退出。
#include<stdio.h>
int main(void) {
float a = 0;
float b = 0;
int menu = 0;
mainMenu();
scanf_s(" %d", &menu);
printf("Give a A:\n");
scanf_s(" %f", &a);
printf("Give a B:\n");
scanf_s(" %f", &b);
switch (menu) {
case 0: {
printf("Choice: 0\n");
puts("Goodbye");
break;
}
case 1: {
printf("Choice: 1\n");
printf(" %f", add(a, b));
break;
}
case 2: {
printf("Choice: 2\n");
printf(" %f", sub(a, b));
break;
}
case 3: {
printf("Choice: 3\n");
printf(" %f", mul(a, b));
break;
}
case 4: {
printf("Choice: 4\n");
printf(" %f", div(a, b));
break;
}
default: {
printf("No action selected\n");
break;
}
}
return 0;
}
答案 0 :(得分:1)
scanf_s(" %d", &menu);
if (menu == 0)
{
printf("Choice: 0\n");
puts("Goodbye");
return 0;
}
您需要检查菜单输入是否为零或否。如果菜单的输入为零,则从那里返回。您无需深入了解其余输入。
按照@bruceg的评论,从开关中删除case 0
。