//简单计算器程序
#include < iostream.h >
class key //键盘输入
{
private:
double No1,No2;
char fu1,fu2; //设定4个存储空间
public:
void put1()
{
cout<<"请输入计算数:"<<endl;
cin>>No1;
}
void put2()
{
cin>>No2;
}
void put3()
{
cin>>fu1;
}
void put4()
{
cin>>fu2;
}
void putNo(double i)
{
No1=i;
}
void putfu(char i)
{
fu1=i;
}
double get1()
{
return No1;
}
double get2()
{
return No2;
}
char getc1()
{
return fu1;
}
char getc2()
{
return fu2;
}
};
class screen //显示器
{
private:
double value;
public:
void put(double i)
{
value=i;
}
void vprint(double j)
{
cout<<j<<endl;
}
};
class calculate:public key,public screen //计算器
{
private:
double v1;
public:
void set(double i)
{
v1=i;
}
double show()
{
return v1;
}
void JISHAN(char t) //计算
{
double d;
switch(t)
{
case '+':
d=get1()+get2();
set(d);
putNo(d);
break;
case '-':
d=get1()-get2();
set(d);
putNo(d);
break;
case '*':
d=get1()*get2();
set(d);
putNo(d);
break;
case '/':
d=get1()/get2();
set(d);
putNo(d);
break;
}
if(getc2() == '=' ) //连续计算
vprint(show());
else
{
putfu(getc2());
put2();
put4();
JISHAN(getc1());
}
}
};
void main()
{
calculate orl;
orl.put1();
orl.put3();
orl.put2();
orl.put4();
orl.JISHAN(orl.getc1());
}