欢迎来到天天文库
浏览记录
ID:14364079
大小:117.50 KB
页数:32页
时间:2018-07-28
《面向对象程序设计大作业》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、面向对象程序设计大作业------计算器类、学校人员管理系统学院名称数学与系统科学学院专业班级信息与计算科学2013-2班学生姓名陈涛学号201301050904指导教师孙红梅完成时间:2015年7月1日山东科技大学大作业任务书一、题目: 计算器类 二、原始资料: 《面向对象程序设计》 大作业要求和任务书 三、应解决下列各主要问题: 计算器类:设计一个计算器类模板,适用各类型表达式的“+、-、×、/”数学四则运算以及“>、>=、<、<=
2、、!=、==”等关系运算。数学四则运算表达式中可含有加、减、乘、除运算符以及各型数据的运算对象。程序可以直接输入数学表达式以及关系表达式,不需要任何转换,就可以直接输出数学四则运算和逻辑运算的结果。并且操作简单、界面清晰、灵活、实用、方便等。(系统功能可充分自由发挥)。扩展功能:三角运算、进制转换、开方、幂指数等。 四、设计说明书应附有下列图纸: 无 五、小组分工说明: 无 六、命题发出日期: 2015.6.10 设计完成日期: 2015.7.10 计算器类目
3、的和要求设计一个计算器类模板,适用各类型表达式的“+、-、×、/”数学四则运算以及“>、>=、<、<=、!=、==”等关系运算。数学四则运算表达式中可含有加、减、乘、除运算符以及各型数据的运算对象。程序可以直接输入数学表达式以及关系表达式,不需要任何转换,就可以直接输出数学四则运算和逻辑运算的结果。并且操作简单、界面清晰、灵活、实用、方便等。(系统功能可充分自由发挥)。扩展功能:三角运算、进制转换、开方、幂指数等。问题描述设计一个简单计算器。用户输入四则运算表达式,程序输出正确结果。当表达式中数据格式或运算符输入错误,程序给出错误信息。要求:(1)表达式的左、右操作数可以为整数或实数。
4、(2)运算符限制为+,-,*,/(3)输入表达式允许有前导空格,允许在运算符前后嵌入空格。(4)检测表达式由以下函数完成:voidcheck(char*input,int&a,double&y,int&op,char*&err);其中参数意义如下:input输入表达式的字符串。x返回表达式的左操作数转换结果数值。此题为简单起见,把数据统一转换成double类型。y返回表达式的右操作数转换结果数值。op返回对运算式的判断结果。若输入表达式左、右操作数和运算符都正确,则返回值为1、2、3、4,分别表示做+、-、*、/运算。若返回-1,表示左操作数错;若返回-2,表示右操作数错;若返回-3,
5、表示操作符错。err返回显示错误信息的字符串。附录(源程序代码)#include"iostream"#include"string"usingnamespacestd;voidcheck(char*input,double&x,double&y,int&op,char*&err);doublechage(char*ch);intmain(){doublex,y;intop;charinput[40],*err;doubleresult;gets(input);check(input,x,y,op,err);if(op<0){cout<6、(op){case1:result=x+y;break;case2:result=x-y;break;case3:result=x*y;break;case4:result=x/y;break;}cout<7、j+1]>='0'&&input[j+1]<='9')){err="左操作数错误!";op=-1;return;}while((input[j]>='0'&&input[j]<='9')8、9、input[j]=='.'){if(input[j]=='.')point++;if(point>1){err="左操作数错误!";op=-1;return;}j++;}k=0;while(i
6、(op){case1:result=x+y;break;case2:result=x-y;break;case3:result=x*y;break;case4:result=x/y;break;}cout<
7、j+1]>='0'&&input[j+1]<='9')){err="左操作数错误!";op=-1;return;}while((input[j]>='0'&&input[j]<='9')
8、
9、input[j]=='.'){if(input[j]=='.')point++;if(point>1){err="左操作数错误!";op=-1;return;}j++;}k=0;while(i
此文档下载收益归作者所有