// Program 3.11 A calculator
#include<stdio.h>
int main()
{
    /*创建并输入算式*/
    double number1 = 0.0;    //first operand value a decimal number
    double number2 = 0.0;    //Second operand value a decimal number
    char operation = 0;      //Operation - must be +-,*./,or %
    
    start:
    printf("\nEnter the calculation\n");
    scanf("%lf %c %lf",&number1,&operation,&number2);
    
    /*检查输入是否正确*/
    switch(operation)
    {
        case '+':                                                                     //No checks necessary for add
            printf("= %lf\n",number1 + number2);
            break;
        case '-':                                                                     //No checks necessary for subtract
            printf("= %lf\n",number1 - number2);
            break;
        case '*':                                                                     //No checks necessary for multiply
            printf("= %lf\n",number1 * number2);
            break;
        case '/':                                                                     //Check second oprand for zero
            if(number2 == 0)
                printf("\n\n\aDivision by zero error!\n");
            else
                printf("= %lf\n",number1 / number2);
            break;
        case '%':                                                                //Check second oprand for zero 
            if((long)number2 == 0)
                printf("\n\n\aDivision by zero error!\n");
            else
                printf("= %lf\n",(long)number1 % (long)number2);
            break;
        default :                                                                //Operation is invalid if we get to here
            printf("\n\n\a Illegal operation");
            break;
    }
  char answer ='0';
  printf("\n Do you want to do another calculation? (y or n):\n");
  scanf("  %c", &answer);
/************************************************  
写成这样:
scanf("%c",&answer);  
在控制字符串前删一个空格为什么就不行呢?
********************************************* */
if(answer == 'y'  || answer == 'Y')
    goto start ;
    return 0;
}
AIxer
					MadMarical
随时随地看视频慕课网APP