Operate.h:
#ifndef OPERATE_H_INCLUDED
#define OPERATE_H_INCLUDED
enum operateType
{
operateMinCode = 1,
operateAdd = 1,
operateSub = 2,
operateRide = 3,
operateDivide = 4,
operateMaxCode = 4
};
;;
class Operate
{
public:
int operate(int operateFirst,int operateSecond,int operateType);
protected:
private:
};
#endif // OPERATE_H_INCLUDED
Operate.cpp:
#include "Operate.h"
int Operate :: operate(int operateFirst,int operateSecond,int operateType)
{
int result=0;
switch(operateType)
{
case operateAdd:
result = operateFirst + operateSecond;
break;
case operateSub:
result = operateFirst - operateSecond;
break;
case operateRide:
result = operateFirst * operateSecond;
break;
case operateDivide:
result = operateFirst / operateSecond;
break;
default :
return 0;
};
return result;
};
main.cpp:
int main()
{
int operateFirst = 0, operateSecond = 0;
int operateType = 0, result = 0;
Operate operateClass;
while(1)
{
cout << "请输入第一个整数(一定是整数):";
cin >> operateFirst;
cout << endl;
cout << "请输入第二个整数(一定是整数):";
cin >> operateSecond;
cout << endl;
cout << "类型输入示意,以整数表示: 1:+ 2:- 3:* 4:/ " << endl;
cout << "请输入Type(一定是整数):";
cin >> operateType;
cout << endl;
/*检查输入运算类型是否在要求范围内*/
if(operateType<operateMinCode || operateType>operateMaxCode)
{
cout << "输入出错,没有此类型!" <<endl << endl <<endl;
continue;
}
/*检查除数是否为0*/
else if(operateDivide == operateType && 0==operateSecond)
{
cout<<"输入出错,除数不能为0!" << endl << endl <<endl;
continue;
}
result = operateClass.operate(operateFirst,operateSecond,operateType);
cout << "结果是:"<< result << endl;
break;
}
return 0;
}
遗留问题:cin如何对输入类型检测,保证输入的数为整型数。