C++模拟计算器程序

7、模拟计算器程序
问题描述:设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。
基本要求:程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入’=’ 符号后,窗口显示出结果。
测试数据:程序输入不少于5种不同的表达式进行测试。
实现提示:可定义一个计算器类,该类包括两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。
选作内容:如果用户输入的表达式不合法,可以判别出来并给出相应的错误提示。

/*/////////////////////////////////////////////////////////////
* 功能:实现一个计算器程序
* 作者: 曾胜 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;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-29
Javascript的行不?模拟计算器程序
问题描述:设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。
基本要求:程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入’=’ 符号后,窗口显示出结果。
测试数据:程序输入不少于5种不同的表达式进行测试。
实现提示:可定义一个计算器类,该类包括两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。
选作内容:如果用户输入的表达式不合法,可以判别出来并给出相应的错误提示本回答被网友采纳
相似回答