带C的计算器程序

时间:2014-03-28 17:57:58

标签: c calculator

我有一个基本计算器程序。它应该加/减/乘/除。 我可以让它执行一个操作,但不能连续执行。有什么帮助吗?

我不确定要使用哪种功能。我希望它反复做一些我应该使用一个循环,对吗?但是如何?

这是代码。谢谢你的意见!

#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;
}

1 个答案:

答案 0 :(得分:1)

while(op != result)

几乎肯定是错的。只要结果与操作的ascii值匹配,这将终止循环。因此,如果乘法时结果为42,则在添加时为43,在减去时为45,或在分割时为47。

我认为你应该选择“退出”的代码,也许是“q”,并在循环中检查它。

while(op != 'q')

或者,检查文件是否未达到EOF,否则退出。这是此类shell程序的常用策略。