【发布时间】:2013-12-08 12:22:01
【问题描述】:
我想制作一个计算器,只是一个简单的带有循环和基本操作的计算器,但奇怪的是我的 scanf 数字之间的字符 scanf 被忽略了。如果我把它放在整数的scanf 上面,它工作得很好,但它看起来不像计算器。有没有办法解决这个问题?它还没有完成;到这里有一个错误,所以想知道哪里出了问题。
#include <stdio.h>
#include <stdlib.h>
int main(){
int number1,number2,total;
char a;
printf("This is your personal calculator:(End with ""="")\n");
scanf("%d",&number1);
scanf("%c",&a);
scanf("%d",&number2);
if (a == 'x' || a == 'X' || a == '*'){
total=number1*number2;
printf("%d",total);
} else if (a == '/'){
total=number1/number2;
printf("%d",total);
} else if (a == '+'){
total=number1+number2;
printf("%d",total);
} else if (a == '-'){
total=number1-number2;
printf("%d",total);
} else {
printf("error");
}
system("pause");
return 0;
}
【问题讨论】:
-
您必须展示您输入号码的方式。如果您在一行中输入所有内容(如
12+34),我相信您的计算器会正常工作。但是,如果您在单独的行中输入所有内容,那就是另一回事了。您必须在问题中包含如此重要的细节。 -
也不清楚你为什么告诉用户“以 =”结尾。用户应该在何处、何时以及如何输入“=”?