c語言:使用main函數的參數,實現一個整數計算器
/*
使用main函數的參數,實現一個整數計算器,程序可以接受三個參數,
第一個參數“-a”選項執行加法,“-s”選項執行減法,
“-m”選項執行乘法,“-d”選項執行除法,後面兩個參數為操作數。
*/
#include<stdio.h>
#include<stdlib.h>
int my_calculator(char *p,int num1,int num2)//calculator表示計算器
{
if(p=="-a")
return num1+num2;
else if(p=="-s")
return num1-num2;
else if(p=="-m")
return num1*num2;
else if(p=="-d")
return num1/num2;
else
return 0;
}
int main()
{
char a,b;
char *p=&b;
int num1=0;
int num2=0;
int result=0;
printf("請輸入計算表達式:");
scanf("%d%c%d",&num1,&a,&num2);//錄入算式,num1,num2為操作數,a保存的是操作符
//分別對參數指針p賦值,‘+’,‘-’,‘*’,‘/’,分別對應“-a,-s,-m,-d”,如果是別的符號就對p賦‘\0’
while(1) //while(0)表示為假,只要括號裡面是非0就為真,循環就一直執行
{
if(a=='+')
{
p="-a";
break;
}
else if(a=='-')
{
p="-s";
break;
}
else if(a=='*')
{
p="-m";
break;
}
else if(a=='/')
{
p="-d";
break;
}
else
*p='\0';
}
result=my_calculator(p,num1,num2);//函數調用得到結果
printf("%d%c%d=%d\n",num1,a,num2,result);//分別輸出
system("pause");
return 0;
}
結果:
請輸入計算表達式:6/2
6/2=3
請按任意鍵繼續. . .