【发布时间】:2020-12-21 10:45:10
【问题描述】:
我尝试在C 中编写计算器,但程序忽略了我尝试从终端扫描出来的运算符(加号、分钟等)。
代码如下:
#include <stdio.h>
#include <stdlib.h>
int main() {
float Zahl1;
float Zahl2;
float Ergebnis;
char Methode ="";
printf("Geben Sie bitte eine Zahl ein.\n");
scanf("%f", &Zahl1);
printf("Geben Sie bitte eine zweite Zahl ein.\n");
scanf("%f", &Zahl2);
printf("Geben Sie ein Verechnungszeichen ein.");
scanf("%c", &Methode);
if (Methode == '+')
Ergebnis= Zahl1 + Zahl2;
else if(Methode == '-')
Ergebnis= Zahl1 - Zahl2;
else if(Methode == '*')
Ergebnis= Zahl1 * Zahl2;
else if(Methode == '/')
Ergebnis= Zahl1 / Zahl2;
printf("%f", Ergebnis);
return 0;
}
终端:
Geben Sie bitte eine Zahl ein.
5
Geben Sie bitte eine zweite Zahl ein.
7
Geben Sie ein Verechnungszeichen ein.-25905410257214286834448728064.000000%
评论:我无法输入运算符并且数字自动出现。
【问题讨论】:
-
使用 scanf(" %c", &c) ; & switch 语句检查字符 c 是否是除法、乘法、减法、加法而不是 if else 语句