2016-02-16 19 views
-3

我想写一个C程序,用户将在其中输入他们所需的数学运算。我能够做到,但无法弄清如何在两个不同的数字上执行操作,作为操作我存储在char类型的变量中,称为operation要求用户输入所需的数学运算

我该如何解决这个问题?

#include<stdio.h> 
#include<conio.h> 

int main(){ 

    char operation; 
    int num1; 
    int num2; 

    printf("enter an expression \n"); 
    scanf("%c",&operation); 
    printf("enter num1 \n"); 
    scanf("%d",&num1); 
    printf("enter num2 \n"); 
    scanf("%d",&num2); 

    printf("entered expression is ="); 
    printf("%d%c%d \n",num1,operation,num2); 

    printf("result is \n"); 

    // Here i had to put the - sign to ensure a subtraction, I want it to be automatic 
    printf("%d%c%d = %d",num1,operation,num2,num1-num2); 

} 
+3

每个操作都使用'if if if'梯子或'switch-case'。 –

回答

2

你所需要的是什么,是一个switch声明。

对于每个操作,您需要添加不同的case来执行该操作。类似于

switch(operation) 
{ 
    case '+': 
       //perform addition, num1+num2 
    case '-': 
       //perform subtraction, num1-num2 
    case '*': 
       //perform multiplication, num1*num2 
    case '/': 
       //perform division, num1/num2 
} 
+0

好吧,我想如果我可以使操作自动它会更好..谢谢:) –

+1

@ AL-zami嗯,这是_automatic_。 :) –

+0

如果(操作==“*”)给我一个错误,说“”“指针和整数之间的比较,默认双重”“”“ –