/*/////////////////////////////////////////////////////////////
* 功能:实现一个计算器程序
* 作者: 曾胜 mayi_qiong 我拿的我同学的题目修改的,,已经很完美了,,要求完全一样
* 时间:
*////////////////////////////////////////////////////////////*/
#include<iostream>
#include<string>
#include <stdlib.h>
#include <conio.h>
#include<vector>
static int i;
using namespace std;
class calculator
{
private:
char ch;
double a[10],b[10]; //定义数组
double s[10];
char c;
public:
int Show()
{
cout<<"请输入等式:"<<endl;
for( i=0;i<10;i++)
{ cout<<"请输入'数字','符号','数字'字符处理请按'0'"<<endl;
cin>>a[i]; if(a[i]==0) goto kk;
cin>>c;
cin>>b[i];
system("pause");
kk:
if(a[i]==0)
{ cout<< "清除全部按A,清除上一个按C,输出以上按算式及结果按S"<<endl;
char ch;
cin>>ch;
switch(ch)
{ case 'a' :
case 'A' :
system("cls"); i=-1; cout<<"数据完全清除任意键继续"<<endl; system("pause"); break;
case 'C':
case 'c':
system("cls");
aa();
break;
case 'S' :
case 's' :
show_all(); system("pause"); break;
} cin.clear();//清掉cin,因为cin会导致死循环
}
else
switch(c)
{
case '+':
s[i]=a[i]+b[i];
break;
case '-':
s[i]=a[i]-b[i];
break;
case'*':
s[i]=a[i]*b[i];
break;
case'/':
s[i]=a[i]/b[i];
break;
}
system("cls");
cin.clear();//清掉cin,因为cin会导致死循环
}
return 0;
}
void show_all()
{
for(int j=0;j<i;j++)
{ cout<<a[j]<<c<<b[j]<<"="<<s[j]<<endl; } }
void aa(){ do{ i--; for(int j=0;j<=i-1;j++)
{ cout<<a[j]<<c<<b[j]<<"="<<s[j]<<endl;
}
cout<<"继续请按C,其他退出"<<endl;
cin>>ch;
}while(ch=='C'||ch=='c'); }
void show(){
system("cls");
cout<<"\n\n\n\n\n\n\n";
cout<<"==============================================================================="<<endl;
cout<<"\n\n";
cout<<" 作者: 曾胜"<<endl;
cout<<"\n\n";
cout<<" 学号:"XXXXXXX<<endl;
cout<<"\n\n";
cout<<" 专业:软件工程"<<endl;
cout<<"\n\n";
cout<<" 学院:软件学院"<<endl;
cout<<"\n\n";
cout<<" 指导老师:李祥"<<endl;
cout<<"\n\n";
cout<<"================================================================================"<<endl;
cout<<endl;
}
};
int main()
{
system("color 0A");
calculator s;//实例化对象
s.show();
getch();//暂停
system("cls");
s.Show();
return main();
return 0;
}
温馨提示:内容为网友见解,仅供参考