【发布时间】:2015-05-12 07:46:03
【问题描述】:
我正在尝试用 C 编写一个基本的计算器程序,而且我快完成了!不过我有一个问题,它涉及反复询问用户的输入。
我可以通过我的循环一次,但是即使用户输入了正确的字符,我的程序仍然会跳出循环。
我是 C 的新手,但我用 Java 完成了大量的编程,所以我了解循环、条件和数据类型的功能。
#include <stdio.h>
int main()
{
char yes;
int a, b, c, choice;
yes = 'y';
while(yes == 'y' || yes == 'Y')
{
printf("Enter first integer: ");
scanf("%d", &a);
printf("Enter second integer: ");
scanf("%d", &b);
printf("\nAdd(1), Subtract(2), Multiply(3), Divide(4): ");
scanf("%d", &choice);
printf("\n");
switch(choice)
{
case(1):
c = a + b;
printf("%d + %d = %d\n", a, b, c);
break;
case(2):
c = a - b;
printf("%d - %d = %d\n", a, b, c);
break;
case(3):
c = a * b;
printf("%d * %d = %d\n", a, b, c);
break;
case(4):
c = a / (float)b;
printf("%d / %d = %d\n", a, b, c);
break;
default:
printf("Incorrect choice. Try again.\n");
}
printf("\nAgain (Y/N): ");
scanf("%c", &yes);
}
return 0;
}
【问题讨论】:
标签: c while-loop char conditional