【一个简易的计算器,不知道哪里出了问题?求教】
【运行后无法计算!!!】
【代码】
//一个简易的计算机程序 v1.0
#include <stdio.h>
int main(void)
{
double n1=0.0;
double n2=0.0;
char operation=0;
printf("请输入算式:\n 注意:\n1.因计算限制,一次只支持一个算式\n2.请注意运算规则\n");
scanf("%lf %c %lf", &n1, &operation, &n2);
printf("\n\n%lf %c %lf\n\n",n1,operation,n2);
switch(operation)
{
case'+':
printf("= %lf\n",n1+n2);
break;
case'-':
printf("= %lf\n",n1-n2);
break;
case'*':
printf("= %lf\n",n1*n2);
break;
case'/':
if(n2==0)
printf("\n\nError! 除数不能为0.\n");
else
printf("= %lf\n",n1/n2);
break;
case'%':
if( ( (long)n2==0 ) || ( ( (double) ((long)n2) )!=n2 ) )
printf("\n\nError! 除数请输入为一个整数.\n");
else
printf("= %d\n",(long)n1%(long)n2);
break;
default:
printf("\n\nError! 请输入一个正确的式子.\n");
break;
}
return 0;
}
【有问题吗?】
【编译运行后是这样的:(图)】
【究竟哪里出了问题?求教,O(∩_∩)O谢谢!】
【运行后无法计算!!!】
【代码】
//一个简易的计算机程序 v1.0
#include <stdio.h>
int main(void)
{
double n1=0.0;
double n2=0.0;
char operation=0;
printf("请输入算式:\n 注意:\n1.因计算限制,一次只支持一个算式\n2.请注意运算规则\n");
scanf("%lf %c %lf", &n1, &operation, &n2);
printf("\n\n%lf %c %lf\n\n",n1,operation,n2);
switch(operation)
{
case'+':
printf("= %lf\n",n1+n2);
break;
case'-':
printf("= %lf\n",n1-n2);
break;
case'*':
printf("= %lf\n",n1*n2);
break;
case'/':
if(n2==0)
printf("\n\nError! 除数不能为0.\n");
else
printf("= %lf\n",n1/n2);
break;
case'%':
if( ( (long)n2==0 ) || ( ( (double) ((long)n2) )!=n2 ) )
printf("\n\nError! 除数请输入为一个整数.\n");
else
printf("= %d\n",(long)n1%(long)n2);
break;
default:
printf("\n\nError! 请输入一个正确的式子.\n");
break;
}
return 0;
}
【有问题吗?】
【编译运行后是这样的:(图)】
【究竟哪里出了问题?求教,O(∩_∩)O谢谢!】