【发布时间】:2015-12-03 09:37:43
【问题描述】:
这是我尝试用 C 构建的一个简单计算器的代码(我正在学习 C):
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
char Operation;
printf("Welcome to Double-Figure Calculator!\n\n");
Sleep(1000);
printf("What operation would you like to do? (+, -, *, /,) \n");
Sleep(1000);
scanf("%c\n\n", Operation);
Sleep(1000);
if (Operation == '+'){
int FirstNumber;
int SecondNumber;
printf("Please enter your first number\n");
scanf("%s\n\n", &FirstNumber);
printf("Please enter your second number\n");
scanf("%s\n\n", &SecondNumber);
Sleep(1000);
printf("Calculating");
Sleep(1000);
printf(".");
Sleep(1000);
printf(".");
Sleep(1000);
printf(".\n\n");
printf("Your calculation is %d\n\n", FirstNumber + SecondNumber);
system("Pause");
}
if (Operation == '-'){
int OneFirstNumber;
int OneSecondNumber;
printf("Please enter your first number\n");
scanf("%s\n\n", &OneFirstNumber);
printf("Please enter your second number\n");
scanf("%s\n\n", &OneSecondNumber);
Sleep(1000);
printf("Calculating");
Sleep(1000);
printf(".");
Sleep(1000);
printf(".");
Sleep(1000);
printf(".\n\n");
printf("Your calculation is %d\n\n", OneFirstNumber - OneSecondNumber);
system("Pause");
}
if (Operation == '*'){
int TwoFirstNumber;
int TwoSecondNumber;
printf("Please enter your first number\n");
scanf("%s\n\n", &TwoFirstNumber);
printf("Please enter your second number\n");
scanf("%s\n\n", &TwoSecondNumber);
Sleep(1000);
printf("Calculating");
Sleep(1000);
printf(".");
Sleep(1000);
printf(".");
Sleep(1000);
printf(".\n\n");
printf("Your calculation is %d\n\n", TwoFirstNumber * TwoSecondNumber);
system("Pause");
}
if (Operation == '/'){
int ThreeFirstNumber;
int ThreeSecondNumber;
printf("Please enter your first number\n");
scanf("%s\n\n", &ThreeFirstNumber);
printf("Please enter your second number\n");
scanf("%s\n\n", &ThreeSecondNumber);
Sleep(1000);
printf("Calculating");
Sleep(1000);
printf(".");
Sleep(1000);
printf(".");
Sleep(1000);
printf(".\n\n");
printf("Your calculation is %d\n\n", ThreeFirstNumber / ThreeSecondNumber);
system("Pause");
}
system("pause");
return 0;
}
问题是每当我运行代码并输入一个操作时,例如 +、-、* 或 /,然后按 Enter,即使我有 if 语句来执行程序的其余部分,也没有任何反应.我无法弄清楚我在这里做错了什么。有什么帮助吗? (对不起,我是编程新手,并且正处于学习 C 的早期阶段)。
【问题讨论】:
-
问题可能与
scanf有关。 -
我确实检查了代码,我认为它是正确的。你怎么看?
-
如果您认为代码正确,您的问题是什么?
-
您正在为
scanf使用%s"string" 格式说明符。 -
我的问题是为什么我输入一个操作后什么都没有发生,即使我有一系列的 if 语句。
标签: c if-statement char calculator