检查输入与执行计算

接下来检查是否正确。

最明显的是检查操作是否是 +、-、*、/ 和 %。

还要检查第二个数字,当进行 / 或 % 的时候,不能进行是 0。

这些操作可以使用 if 和 switch 来完成。

取余数对 float 或 double 没有意义,因为它们可以表示精确的结果。只要把 % 应用于整型运算才有意义。因此,在应用这个运算符前,把操作数转换为整型。

当运算符是 % 时,将第二个操作数转换为一个整数,所以仅检查第二个操作数是否为 0 还是不够的。还必须检查 number2 在转换为 long 时,值是否为 0。例如 0.5 不是 0,但是转换为整数后就是 0。

#include <stdio.h>

int main(void)
{
    double number1 = 0.0;
    double number2 = 0.0;
    char operation = 0;

    printf("\n请输入计算的表达式\n");//1.2+2.0
    scanf("%lf %c %lf",&number1,&operation,&number2);

    switch(operation)
    {
        case '+':
            //实现加法运算
            break;
        case '-':
            //实现减法
            break;
        case '*':
            //实现乘法
            break;
        case '/':
            if(number2==0.0)
            {
                printf("\n除数不能为0\n");
            }
            else
            {
               //实现除法运算
            }
            break;
        case '%':
            if((long)number2==0)
            {
               printf("\n除数不能为0\n");
            }
            else
            {
                //实现求模运算
            }
             break;
        default:
            printf("\n无效操作\n");
            break;

    }
    return 0;
}Code language: PHP (php)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注