简单四则计算器问题
#include <stdio.h>#include <stdbool.h>
int main()
{
float Num1, Num2;
char ch;
float result;
bool invalid = true;
printf("Please enter the formula:");
scanf("%f %c %f", &Num1, ch, Num2);
switch (ch)
{
case '-': Num2 = -Num2; //No Break!!!
case '+': Num1 + Num2; break;
case '*': Num1 * Num2; break;
case '/':
if (Num2 != 0)
{
result = Num1 / Num2; break;
}
else
{
invalid = false; break;
}
}
if (invalid)
{
printf("Divisor cannot be zero!\n");
}
else
{
printf("result is : %.2f\n", result);
}
return 0;
}
上面是仿造小甲鱼的代码写的
下面是小甲鱼的
#include <stdio.h>
#include <stdbool.h>
int main()
{
float op1, op2;
char ch;
float result;
bool invalid = false;
printf("请输入式子:");
scanf("%f %c %f", &op1, &ch, &op2);
switch (ch)
{
case '-': op2 = -op2; // no break
case '+': result = op1 + op2; break;
case '*': result = op1 * op2; break;
case '/':
if (op2 != 0)
{
result = op1 / op2;
break;
}
else
{
invalid = true;
break;
}
}
if (invalid)
{
printf("除数不能为零!\n");
}
else
{
printf("结果是:%.2f\n", result);
}
return 0;
}
自己的运行后总是出错 找不出错误 请各位指点指点
#include <stdio.h>
#include <stdbool.h>
int main()
{
float Num1, Num2;
char ch;
float result;
bool invalid = true;
printf("Please enter the formula:");
scanf("%f %c %f", &Num1, &ch, &Num2); // 后面少了两个&
switch (ch)
{
case '-': Num2 = -Num2; //No Break!!!
case '+': Num1 + Num2; break;
case '*': Num1 * Num2; break;
case '/':
if (Num2 != 0)
{
result = Num1 / Num2; break;
}
else
{
invalid = false; break;
}
}
if (invalid == flase) //注意你invalid的变量怎么设的,什么时候改变
{
printf("Divisor cannot be zero!\n");
}
else
{
printf("result is : %.2f\n", result);
}
return 0;
} 四处错误,帮你修改并注释了
#include <stdio.h>
#include <stdbool.h>
int main()
{
float Num1, Num2;
char ch;
float result;
bool invalid = true;
printf("Please enter the formula:");
scanf("%f %c %f", &Num1, &ch, &Num2);//错误1、这里后两个变量没有加取地址符
switch (ch)
{
case '-': Num2 = -Num2; //No Break!!!
case '+': result = Num1 + Num2; break;//错误2、计算结果没有赋值给result
case '*': result = Num1 * Num2; break;//错误3、计算结果没有赋值给result
case '/':
if (Num2 != 0)
{
result = Num1 / Num2; break;
}
else
{
invalid = false; break;
}
}
if (!invalid)//错误4、你的invalid是当除数为0的时候设为false,那么这里应该是除数为0的时候进入else
{
printf("Divisor cannot be zero!\n");
}
else
{
printf("result is : %.2f\n", result);
}
return 0;
} 我的系统里竟然没有 stdbool.h,下载了一个,小甲鱼的程序才运行正常
你的问题还没解决? 乐乐学编程 发表于 2020-10-1 13:50
我的系统里竟然没有 stdbool.h,下载了一个,小甲鱼的程序才运行正常
你的问题还没解决?
我是用 VS code
很方便 可以自定义很多插件
页:
[1]