本人刚才编写的一个简单计算器程序~大家来参观下!
RT
经测试成功
代码如下:
/* 简单的计算器 */
#include "stdio.h"
main()
{
float a,b;
char c;
printf("请任意输入一个格式为(a?b=)的表达式:\n");
scanf("%f%c%f\n",&a,&c,&b);
if(c=='+')
{ printf("%.2f%c%.2f=%.2f",a,c,b,a+b);}
if(c=='-')
{ printf("%.2f%c%.2f=%.2f",a,c,b,a-b);}
if(c=='*')
{ printf("%.2f%c%.2f=%.2f",a,c,b,a*b);}
if(c=='/')
{ if(b==0)
{ printf("变量b不能为0,请重新键入b的值.");}
else
printf("%.2f%c%.2f=%.2f",a,c,b,a/b);
}
printf("\n输入任意键结束.");
getch();
}
本人还有一个疑问,就是上述代码中,如果变量b为0,怎样才能重新输入(不是重新打开程序)。
我用了goto 也不行 我是这么用的:
/* 简单的计算器 */
#include "stdio.h"
main()
{
float a,b;
char c;
printf("请任意输入一个格式为(a?b=)的表达式:\n");
error:scanf("%f%c%f\n",&a,&c,&b);
if(c=='+')
{ printf("%.2f%c%.2f=%.2f",a,c,b,a+b);}
if(c=='-')
{ printf("%.2f%c%.2f=%.2f",a,c,b,a-b);}
if(c=='*')
{ printf("%.2f%c%.2f=%.2f",a,c,b,a*b);}
if(c=='/')
{ if(b==0)
{ printf("变量b不能为0,请重新键入b的值."); goto error;}
else
printf("%.2f%c%.2f=%.2f",a,c,b,a/b);
}
printf("\n输入任意键结束.");
getch();
}
这么做了以后 程序就不停的打印"变量b不能为0,请重新键入b的值"请问怎么回事 ,还有什么其他的办法能重新输入变量b的值吗? 坐等!