我fuc()函数出了错,但我不明白为什么
#include "pch.h"
#include <iostream>
using namespace std;
void a(double a,double b,double *add) {
*add = a + b;
}
void ja(double a, double b, double *jian) {
*jian = a - b;
}
void m(double a, double b, double *chen) {
*chen = a * b;
}
void c(double a, double b, double *chu) {
*chu = a / b;
}
double fuc(double a, char *d, double b)
{
if (*d = '/'&&b == 0)
throw b;
else if (*d != '/' || *d != '+')
{
if (*d != '*' || *d != '-')throw *d;
else return 0;
}
}
int main()
{
double *s1 = NULL;
s1 = new double;
char d;
double x, y;
cout << "请输入计算式:";
cin >> x>>d>>y;
try
{
fuc(x,&d,y);
if (d == '+')
{
a(x, y, s1);
cout << "加法:" << *s1;
}
else if (d == '-') {
ja(x, y, s1);
cout << "减法:" << *s1;
}
else if (d == '*') {
m(x, y, s1);
cout << "乘法:" << *s1;
}
else if (d == '/') {
c(x, y, s1);
cout << "除法:" << *s1;
}
}
catch (double)
{
cout << "请输入正确的算式!!!";
exit(1);
}
return 0;
}