- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 2
课 程 设 计
课程名称_《可视化编程环境》
题目名称_ _简单计算器________
学生学院__ 计算机学院________
专业班级__计算机科学与技术4班_
学 号 3107006480
学生姓名__ 黄旭洲____________
指导教师__ 谭台哲____________
2009 年 12
计算机 学院 计算机科学与技术 专业 4 班 组、学号3107006480
姓名 黄旭洲 协作者_________ 教师评定_________________
实验题目 一个简单计算器的设计
一.实验目的与要求
目的: 目标是使学生了解可视化程序设计语言的基础知识,掌握面向对象编程的分析设计方法,以及与面向对象技术相关的一些软件开发技术,掌握在 VisualC++6环境下进行可视化程序设计技术。通过实践具体的项目,为他们进一步开展相关领域的学习和科研打下良好的基础。。
要求: 设计一个简单的计算器
1、二进制、八进制、十进制及十六进制数的加、减、乘、除、乘方、取模等简单计算
2、科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行
3、以角度、弧度两种方式实现上述部分函数
4、具备历史计算的记忆功能
5、对不正确的表达式能指出其错误原因
6、整理上机步骤、完成实验报告、提交可运行的程序,给出实验数据和实验结果。
二.设计方案
本实验用了Visual C++6.0软件开发工具,设计了一个简单的计算器,设置了数字、加减乘除、开方、任意实数的任意次方、求模、正弦、余弦、反正弦、反余弦、正切、余切、反正切、反余切、自然对数ln、常用对数lg、记忆功能上下查询键、二进制、八进制、十进制、十六进制,弧度、角度之间的转换以及各个进制各自的加减乘除等功能按钮。
功能按钮是利用MFC在一个基本对话框里面添加控件,如按钮,单选按钮,编辑框实现计算器的界面.对每个按钮的操作进行消息响应,并编写代码实现功能,增加一个与编辑框相关联的变量m_edit来接受并进行操作,用于在编辑框上显示输入的数据。同时有另一个m_edit1的变量来实现对记录下来的表达式及其计算结果进行显示,可以通过2个查询按键来进行向前和向后的查询。
详细设计:
1.利用一个CString变量m_edit与编辑框相关联,当按下数字按钮,加,减,乘,除,求模, 任意实数的任意次方,把它们放在m_edit中在编辑框中显示出来.
2.在按下每个按键时,会对应记录到定义的history[ ]中,在数据和表达式输入显示的过程,同时进行表达式的记录。
3.对于单目运算符,如三角函数,开方,对数等,当你输入一个表达式后,再按下这些按键,程序会首先将表达式的值求出来,再利用值进行这些运算符的运算.
4.当按下“=”按键时,会根据算法计算出输入的表达式的结果,并输出到编辑框中,同时把结果添加到history[ ]当中,且跳转到下一记录的开始处,继续记录新的表达式。
5.对于角度与弧度的转换则是通过一个选择项来判断,如果选择的是角度则通过“temp*=PI/180;”该语句及#define PI 3.141592进行相应的转换,从而计算出对应的弧度,得到实现三角函数的计算功能的数据。
6.对于一些运算符的范围限制,程序中也进行了判别,如除数不能为0,对数的真数不能为非正数,tan的角度不能为90度等等,反正弦和反余弦的输入数据范围不能小于-1或大于1,出错时候会弹出一个对话框进行警告,并将编辑框清零.
7.可以通过▲、▼按键对已经输入的正确表达式及其结果进行查询,若输入记录为空,会提示No record。
8.通过选择不同的进制,会自动对计算结果进行转换,该功能通过将输入的数据统一转换为十进制,计算出正确结果之后,在根据已经选择的进制,把结果转换为对应的进制输出到编辑框中。
科学计算器
科学计算器
基本的计算功能
不同进制的转换
角度、弧度转换
科学计算功能(如三角函数,反三角函数,平方,开方等)
历史记忆功能
数值的进制转换
输入数值
输入数值
根据选择决定进制
转换数值为默认的十进制
将计算结果转换为已经选择的进制
输出期待的进制的结果
基本的运算或科学运算
运算过程的流程图:
输入数值
输入数值
是否为十进制数
如果不是十进制数,先转换为对应的十进制数
根据不同的算符进行相对应的计算
是否采用十进制
如果选择的不是十进制,则将结果转换为要求的进制格式
显示结果
记录输入的数字
记录选择的算符和计算结果
调转到下一记录的初始点并准备记录
通过▲、▼按键对已经输入的正确表达式及其结果进行查询
能对
您可能关注的文档
- 可口可乐新包装策划.ppt
- 可口可乐业务培训之-快速消费品业务人员建立良好的销售心态.ppt
- 可口可乐中国营销策略--英文论文.doc
- 可燃气体报警器开题报告.doc
- 可燃气体报警仪管理制度.doc
- 可生物降解塑料PHAs.doc
- 可调恒温电烙铁.doc
- 可疑交易识别分析方法——反洗钱业务系列讲座.ppt
- 可用性测试在用户界面中的重要性.doc
- 可预置定时显示报警系统报告.doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)