面向对象程序设计语言 --课程设计
题 目 计算器设计
院 系 航空宇航学院
专 业 飞行器设计与工程 学生姓名 张权 学 号 011110320 指导教师 张德平
二零一二 年 六 月 九 日
课程设计报告
计算器设计
(一)、目的与要求:
1、目的:
通过开发计算器程序,进一步熟悉C++中类和对象的定义与使用,掌握程序控制的方法,掌握C++程序设计的基本知识。 2、基本要求:
(1)设计计算器程序,可对实数操作; (2)可对多个基数操作的四则运算;
(3)增加函数如:正弦、余弦、正切、对数、平方和平方根、完成四则混合运算,注意考虑优先级,对应增加主菜单选项;
(4)根据程序的提示,可以进行正弦运算进行余弦运算、正切运算、对数运算、求平方运算、混合运算、华氏温度转化为摄氏温度的运算、摄氏温度转化为华氏温度的运算、求平方根运算。使四则运算能够具有测试功能,即计算机能够自动出题,并要求用户计算,同时计算机判断用户的对错并打分,要求十题为一个单元,加减运算时最高为两位数的运算,乘法为两位数乘以一位数,除法是两位数或者三位数除以一位数,要求没有余数。
(二)、设计方法和基本原理:
1、问题描述(功能要求):
实数间的计算很复杂,它包括:相加、相减、相乘、相除、求三角函数、求对
数、四则混合运算等。试设计计算器,使之能提供以下功能:
1).可以连续输入运算,对于输入的表达式能够按算符优先级进行处理。 如:
输入4+5*3时,应该输出60,而不是27。 2).可以处理包含括号的表达式。 如:
输入2*(3+2)时,应该输出10,而不是8。 3).可以计算三角函数、对数函数、平方根以及平方。 4).能够实现华氏温度与摄氏温度之间的转换。
5).四则运算能够具有测试功能,即计算机能够自动出题,并要求用户计算,
ii
课程设计报告
同时计算机判断用户的对错并打分。
6).系统以菜单方式工作。(所谓菜单指用户可以自由选择所要执行的功能) 7).当使用者输入错误时要有错误提示。 2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2)分析系统中的各个实体及它们之间的关系包括属性和行为; (3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述(包括属性和方法); (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试; (8)完成系统总结报告。
iii
课程设计报告
目 录
1. 系统需求分析 .................................................................................... 1 2. 总体设计 ............................................................................................ 1 3. 详细设计 ............................................................................................ 2 4. 系统调试 ............................................................................................ 6 5. 结果分析 ......................................................... 错误!未定义书签。 6. 总结 ................................................................. 错误!未定义书签。 附录:源程序清单
iv
1. 系统需求分析
实数间的计算很复杂,它包括:相加、相减、相乘、相除、求三角函数、求对
数、四则混合运算等。试设计计算器,使之能提供以下功能:
1).可以连续输入运算,对于输入的表达式能够按算符优先级进行处理。 如:
输入4+5*3时,应该输出60,而不是27。 2).可以处理包含括号的表达式。 如:
输入2*(3+2)时,应该输出10,而不是8。
3).可以计算三角函数、对数函数、平方根以及平方。 4).能够实现华氏温度与摄氏温度之间的转换。
5).四则运算能够具有测试功能,即计算机能够自动出题,并要求用户计算,同时计算机判断用户的对错并打分。
6).系统以菜单方式工作。(所谓菜单指用户可以自由选择所要执行的功能) 7).当使用者输入错误时要有错误提示。
学生可以通过以上功能计算实数间的加、减、乘、除、求三角函数、求平方、求平方根、求对数以及实现华氏温度和摄氏温度间的转换,除了要实现上述的基本功能之外,本系统还应该在细节上下工夫,使用户使用方便,在使用的过程中保持一个愉快的心情。计算器系统有广大的用户群,这其中有老师、学生、有公司办公人员,也可以供给一般用户使用。总之,该系统可以满足用户需求,实现对实数的计算。
2. 总体设计
计算器系统包含六个大的功能,分别是:四则混合运算、三角函数运算、对数运算、平方和平方根运算、摄氏温度和华氏温度的转换、测试功能。
在上述六大功能中最难的是四则混合运算的实现,特别是优先级的判断,不但有加减乘除之间的优先级判断,而且还有括号夹杂其中,使得实现起来非常困难。于是,我考虑用栈和二叉树来实现。
系统弹出主菜单来提示用户输入其想要实现的运算类型,然后根据用户所选的类型来调用相关的函数计算并返回结果。当系统完成运算后,会再次跳出主菜单让用户选择,用户可以选择推出或者继续。
当用户输入出错时,系统会提示用户。总之,用户可以方便的在系统提示下进行使用。
本系统还具有测试功能,系统出题,用户输入答案,系统会判断对错并给出用户的得分。
计算器系统中功能模块图: