#include
#include
#include
#include
usingstd::cin;
usingstd::cout;
usingstd::endl;
//计算式数量
intconstNum=10;
//计算式中最大数
intconstMaxNum=10;
enumenOp{Add,Subtract,Multiply,Divide};
//加法
intaddFun(intleft,intright)
{
returnleft+right;
}
//减法
intsubFun(intleft,intright)
{
returnleft-right;
}
//乘法
intmulFun(intleft,intright)
{
returnleft*right;
}
//除法
intdivFun(intleft,intright)
{
returnleft/right;
}
//将枚举类型转换为字符类型,以便输出.
charenum2char(enOpop)
{
switch(op)
{
caseAdd:
return'+';
caseSubtract:
return'-';
caseMultiply:
return'x';
caseDivide:
return'/';
}
return'';
}
//计算生成表达式的正确结果.
intmyResult(intleft,intright,enOpop)
{
switch(op)
{
caseAdd:
returnaddFun(left,right);
caseSubtract:
returnsubFun(left,right);
caseMultiply:
returnmulFun(left,right);
caseDivide:
returndivFun(left,right);
}
return0;
}
//检查生成计算式的正确与否.其中减法结果不能为负数,除法结果不能为小数.
boolcheckFormula(intleft,intright,enOpop)
{
switch(op)
{
caseAdd:
returntrue;
caseSubtract:
{
if(left