c语言:使用main函数的参数,实现一个整数计算器
2016-05-29 13:34
681 查看
/*
使用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
请按任意键继续. . .
本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1714493
使用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
请按任意键继续. . .
本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1714493
相关文章推荐
- c语言:有一个分数序列: 2/1+3/2+5/3+8/5+13/8+… 求出这个数列前 20 项的和
- c语言:一个球从 100 米高的自由落下,每次落地后反跳回原高度的一半
- c语言:猴子吃桃问题
- c语言:求n!从1到20的和
- c语言:求1/n!从1到20的和
- c语言:不使用(a+b)/2这种方式,求两个数的平均值。
- c语言:一组数据中只有一个数字出现了一次。(使用位运算)
- C语言:设置自动关机程序:2分钟之后关机,请输入\&quot;我好帅\&quot;三个字解除\n&quot;
- C语言:在屏幕上输出信息
- C语言:求两个整数之和
- c语言:2种方法;求两个整数之中的较大者
- c语言:4种方法;交换两个整数的位置(包括引入第三方变量和不引入第三方变量)
- c语言:给十个整数比较大小
- 熟悉一下C语言中的const
- C++实验6-矩阵求和
- C++基础<01>—C++初识
- 一道关于重载的例子
- #define st(x) do { x } while (__LINE__ == -1)及“\”分析
- dev C/C++运行结果一闪而过的解决
- C/C++上机指南