帮我看看这个程序错在哪里,谢谢
#include<iostream>
float add(float num1,float num2)
{
return num1+num2;
}
float sub(float num1,float num2)
{
return num1-num2;
}
float num(float num1,float num2)
{
return num1*num2;
}
float div(float num1,float num2)
{
if (num2!=0)
return num1/num2;
else
{
cout<<"除数不能为0"<<endl;
returu 0;
}
}
float caculate(float (*cal)(float n1,float n2),float num1,float num2)
{
return cal(num1,num2);
}
void main()
{
cout<<"输入计算式,格式为:操作数1运算符操作数2";
float num1,num2,result;
char op;
cin>>num1>>op>>num2;
swich(op)
{
case'+':result=caculate(add,num1,num2);break;
case'-':result=caculate(sub,num1,num2);break;
case'*':result=caculate(mul,num1,num2);break;
case'/':result=caculate(div,num1,num2);break;
}
cout<<num1<<op<<num2<<"="<<result<<endl;
}
[解决办法]
- C/C++ code
#include<iostream>using namespace std; //float add(float num1,float num2){ return num1+num2;}float sub(float num1,float num2){ return num1-num2; }float mul(float num1,float num2) //{ return num1*num2; }float div(float num1,float num2){ if (num2!=0) return num1/num2; else { cout<<"除数不能为0"<<endl; return 0; // }}float caculate(float (*cal)(float n1,float n2),float num1,float num2){ return cal(num1,num2);}void main(){ cout<<"输入计算式,格式为:操作数1运算符操作数2"; float num1,num2,result; char op; cin>>num1>>op>>num2; switch(op) // {case'+':result=caculate(add,num1,num2);break; //case'-':result=caculate(sub,num1,num2);break;case'*':result=caculate(mul,num1,num2);break;case'/':result=caculate(div,num1,num2);break; } cout<<num1<<op<<num2<<"="<<result<<endl;}