
vc++编程题:设计一个程序,完成两个操作数的加、减、乘、除四则运算。
要求:(1)编写函数add()、sub()、mul(),div()分别实现两个操作数的加、减、乘、除运算。(2)在主函数中输入运算式:abc(其中a和c表示两个操作数,b...
要求:(1) 编写函数add()、sub( )、mul(),div()分别实现两个操作数的加、减、乘、除运算。(2) 在主函数中输入运算式:abc(其中a和c表示两个操作数,b为运算符“+-*/”之一),根据运算符决定指针所指向的函数,用指向函数的指针相应的函数add()、sub( )、mul(),div()。
展开
1个回答
2013-06-10
展开全部
#include "stdio.h"
typedef float(*funp)(float a,float b);
float add(float a,float b)
{
return a+b;
}
float sub(float a,float b)
{
return a-b;
}
float mul(float a,float b)
{
return a*b;
}
float div(float a,float b)
{
if (b==0)
{
printf("ileagl operator\n");
return 0;
}
return a/b;
}
int main()
{
funp p=NULL;
float op1,op2;
char charter;
printf("输入运算表达式\n");
scanf("%f%c%f",&op1,&charter,&op2);
switch (charter)
{
case '+':
p=add;
break;
case '-':
p=sub;
break;
case '*':
p=mul;
break;
case '/':
p=div;
break;
default:
printf("input error,check your inputs\n");
}
printf("%3f%c%3f=%3f\n",op1,charter,op2,p(op1,op2));
return 0;
}
typedef float(*funp)(float a,float b);
float add(float a,float b)
{
return a+b;
}
float sub(float a,float b)
{
return a-b;
}
float mul(float a,float b)
{
return a*b;
}
float div(float a,float b)
{
if (b==0)
{
printf("ileagl operator\n");
return 0;
}
return a/b;
}
int main()
{
funp p=NULL;
float op1,op2;
char charter;
printf("输入运算表达式\n");
scanf("%f%c%f",&op1,&charter,&op2);
switch (charter)
{
case '+':
p=add;
break;
case '-':
p=sub;
break;
case '*':
p=mul;
break;
case '/':
p=div;
break;
default:
printf("input error,check your inputs\n");
}
printf("%3f%c%3f=%3f\n",op1,charter,op2,p(op1,op2));
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询