C++课程设计 - 计算器

更新时间:2023-09-26 03:35:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

面向对象程序设计语言 --课程设计

题 目 计算器设计

院 系 航空宇航学院

专 业 飞行器设计与工程 学生姓名 张权 学 号 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. 总体设计

计算器系统包含六个大的功能,分别是:四则混合运算、三角函数运算、对数运算、平方和平方根运算、摄氏温度和华氏温度的转换、测试功能。

在上述六大功能中最难的是四则混合运算的实现,特别是优先级的判断,不但有加减乘除之间的优先级判断,而且还有括号夹杂其中,使得实现起来非常困难。于是,我考虑用栈和二叉树来实现。

系统弹出主菜单来提示用户输入其想要实现的运算类型,然后根据用户所选的类型来调用相关的函数计算并返回结果。当系统完成运算后,会再次跳出主菜单让用户选择,用户可以选择推出或者继续。

当用户输入出错时,系统会提示用户。总之,用户可以方便的在系统提示下进行使用。

本系统还具有测试功能,系统出题,用户输入答案,系统会判断对错并给出用户的得分。

计算器系统中功能模块图:

本文来源:https://www.bwwdw.com/article/65ld.html

Top