gpt4 book ai didi

使用 switch 语句在 C 中创建一个简单的计算器

转载 作者:行者123 更新时间:2023-11-30 19:36:03 25 4
gpt4 key购买 nike

我是 C 编程的初学者,我刚刚在代码中使用 if-else 语句制作了一个计算器。现在我尝试使用 switch 语句执行相同的操作,但它始终执行默认值。请查看我的代码并建议我出了什么问题。我目前正在 CodeBlock 中编写代码。

This is the message i'm getting

int main()
{
printf("\nWhat operation do you want to do:\n\tA)Addition\n\tB)Subtraction\n\tC)Multiplication\n\tD)Division\n");
float num1;
printf("Please enter the first number: ");
scanf("%f", &num1);
float num2;
printf("Please enter the second number: ");
scanf("%f", &num2);
char myChar;
scanf("%c", &myChar);
switch (myChar)
{
case 'A':
printf("The addition of %.2f and %.2f is %.2f", num1, num2, num1 + num2);
break;
case 'B':
printf("The subtraction of %.2f and %.2f is %.2f", num1, num2, num1 - num2);
break;
case 'C':
printf("The multiplication of %.2f and %.2f is %.2f", num1, num2, num1 * num2);
break;
case 'D':
printf("The quotient of %.2f and %.2f is %.2f", num1, num2, num1 / num2);
break;
default :
printf("You enterned incorrect input");
break;
}
return 0;
}

任何帮助将不胜感激

最佳答案

您的问题主要与 scanf 有关,前一个输入中剩余的 \n 被解释为下一个输入的输入。

而且您的操作提示与其对应的输入不符。

建议修复:

float num1;
printf("Please enter the first number: ");
scanf("%f", &num1);

float num2;
printf("Please enter the second number: ");
scanf("%f", &num2);

printf("\nWhat operation do you want to do:\n\tA)Addition\n\tB)Subtraction\n\tC)Multiplication\n\tD)Division\n");
char myChar;
scanf(" %c", &myChar);

您可以添加 printf 作为调试目的 - 这也会有所帮助。第一个输入的示例:

float num1;
printf("Please enter the first number: ");
scanf(" %f", &num1);
printf("num1 = %f\n", num1 );

关于使用 switch 语句在 C 中创建一个简单的计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41787728/

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