我有一个基本计算器程序。它应该加/减/乘/除。 我可以让它执行一个操作,但不能连续执行。有什么帮助吗?
我不确定要使用哪种功能。我希望它反复做一些我应该使用一个循环,对吗?但是如何?
这是代码。谢谢你的意见!
#include <stdio.h>
int main ( void )
{ char op; double result = 0.0, num;
printf("The calculator is on.\nPerform an operation:0.0");
scanf("%c", &op);
while(op != result)
{
scanf("%lf", &num);
if( op=='+')
{result+=num;
printf("The new result is %6.2f", result);
}
else if(op=='-')
{result-=num;
printf("The new result is %6.2f", result);
}
else if(op=='*')
{result*=num;
printf("The new result is %6.2f", result);
}
else if(op=='/')
{result/=num;
printf("The new result is %6.2f", result);
}
else{
printf("Not an operation of the function.\nTry again.");
}
}
return 0;
}
答案 0 :(得分:1)
while(op != result)
几乎肯定是错的。只要结果与操作的ascii值匹配,这将终止循环。因此,如果乘法时结果为42,则在添加时为43,在减去时为45,或在分割时为47。
我认为你应该选择“退出”的代码,也许是“q”,并在循环中检查它。
while(op != 'q')
或者,检查文件是否未达到EOF,否则退出。这是此类shell程序的常用策略。