c实现计算器课程设计报告 .docx

上传人:Che****ry 文档编号:13047225 上传时间:2022-04-27 格式:DOCX 页数:21 大小:96.74KB
返回 下载 相关 举报
c实现计算器课程设计报告 .docx_第1页
第1页 / 共21页
c实现计算器课程设计报告 .docx_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《c实现计算器课程设计报告 .docx》由会员分享,可在线阅读,更多相关《c实现计算器课程设计报告 .docx(21页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精品名师归纳总结封面可编辑资料 - - - 欢迎下载精品名师归纳总结作者: PanHongliang仅供个人学习得分:信电工程学院可编辑资料 - - - 欢迎下载精品名师归纳总结课程设计报告基于 VC的表达式运算器软件设计12 软嵌 2 班20210509223谢文靖朱丽课程: 程序设计综合训练 1班级: 学号: 姓名:指导老师:2021 年 6 月 28 日目 录1 引言11.1 课题背景21.2 课程设计目的32 需求分析52.2 系统功能模块52.3 设计要求63 系统实现83.1 对话框界面设计83.2 数值运算功能的实现104 程序关键代码及运行结果125 总结与体会15可编辑资料

2、- - - 欢迎下载精品名师归纳总结1 引言1.1 课题背景运算器是日常生活中特殊便利有效的工具,能实现加、减、乘、除、开方、求倒数等简洁运算的工具 .要实现运算功能,可以用VC+的学问编写程序来解决此问题 .该运算器大大的降低了数字运算的难度及提高了运算的精确度和精确度. 该运算器使用特殊简洁和便利,对广大中学校生的学习有巨大帮忙作用,也对在职人员的工作有点帮忙作用 .1.2 课程设计目的本课程是一门实践性很强的课程,既要娴熟把握相关概念,又要动手编程,仍 要上机调试运行 .同时,本课程也留意提高同学编写技术文档和技术文档阅读的才能 .同学通过本课程的学习实践,将学习和强化软件开发的才能、文

3、档写作才能、英语阅读才能、软件使用才能等. 为今后运算机编程的学习和工作打下良好、扎实的理论实践基础 .2 需求分析2.1 系统功能模块1) 输入的符号,数字从左向右显示。点击“ =”输出结果,在输出行显示2) 支持加减乘除运算。3) 支持“ x.y”的运算。4) 括号“(”“)”的使用。5) 支持混合运算。6) 功能键“ ANS” ,“ CLEAR” ,“ BACKSPAC”E的使用。7) 运算器的输入方式:支持鼠标点击运算器键输入。8) 运算器运算结果的输出方式:在运算器窗口的输出行显示9) 算数运算的数据类型:整数和浮点数。10) 特殊情形的运算。 11)以上全部的运算都是在 10 进制

4、下进行 .1) 输入的符号,数字从右向左显示 .先输入“ 8”88*再输入“”点击“ =”输出结果,在输出行显示 .2) 支持加减乘除运算 .可编辑资料 - - - 欢迎下载精品名师归纳总结a. 乘法运算:8*3输入行可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结c.减法运算b. 加法运算1+08-3输出行1可编辑资料 - - - 欢迎下载精品名师归纳总结d. 除法运算(特殊情形见10.B ) 9/42) 支持求次方 x.y 运算.求次方 x.y 运算:“.”为次方 x.y 在输入行中的显示符号4.24)“(”“)”的使用 . (括号的使用)要

5、使用“(”“)”的时候,先点击“(”,再输入数字或符号,内容输入完毕以后,点击“)”,完成“(”“)”的全部功能.例如:2 ( 2+2) =?22*2*2+22*2+22* (2+2)5) 支持混合运算 .附:运算符的优先级表优先级功能键显示结合律从、 (、)自左向右高x .y、1/x.、自左向右可编辑资料 - - - 欢迎下载精品名师归纳总结到、*、/自左向右低自左向右例如:( 5+2) 5=?( 5+2)*5混合运算就按优先级表中的运可编辑资料 - - - 欢迎下载精品名师归纳总结6) 功能键“ CLEAR”及“ BACKSPAC”E的使用 .算符优先次序从左向右运算可编辑资料 - - -

6、 欢迎下载精品名师归纳总结a “ CLEAR”为清 0 键. 只要按下“ CLEAR”键,输入行全部字符清 0,输出行回到原始状态 .输入前:( 5+2)*5输入后:0b. “ BACKSPAC”E 为 退 格 键 . 当 输 入 任 何 数 字 或 运算 符 , 只 要 按 下 “ BACKSPAC”E键,字符位自右向左消去一位 . (注:初始的“ 0”不能被删除)输入前:( 5+2) *5输入后:( 5+2)*C. “ ANS”为变量储存器 . 当一次结果被清除后,只要按下“ANS”键就会显示这个结果 .如:5+27按“ CLEAR”键后,再按“ ANS”键就会这样77) 运算器的输入方式

7、:只支持鼠标点击运算器键输入。8) 运算器运算结果的输出方式:在运算器窗口的输出行显示.9) 算数运算的数据类型:整数和浮点数 .a. 输入行最大显示的字符数 32 位,每个运算符算一位。可编辑资料 - - - 欢迎下载精品名师归纳总结b. “(”,“)”各占一个字符位。c. 输出行最大显示的字符数为 32 位。d. 纯小数显示的最大字符数为小数点后30 位,整数及小数点各占一位。 如纯小数为负数,就显示最大字符数为小数点后29 位,“ - ”占一位。e. 输入行在未输入任何数字的时候,显示“0”,只占一个字符位。当输入任何数字时 . “ 0”消逝,输入的的数字取代“ 0”。当输入任何运算符时

8、 . 默认之前输入数字“ 0”。f. 点击“ =”键后方可显示数字或字母或汉字 .10) 特殊情形的运算A. 运算结果整数部分超出32 位,显示 Infinity(无穷大)。显现运算反常!InfinityB. 除数为 0 的情形,提示用户被除数不能为零!1/0除零错误C. 在运算时,如结果为纯小数,小数位超过30 位,就超出的字符舍弃 .2/30 .6666666666666666666如舍弃超出部位后,结果全为0,就结果为 01/9999D. 在运算时,如结果的整数位不为0 a总位数在最大字符位内,就直接显示。 b总位数在最大字符位以外,整数部分在最大字符位以内,就只优先显示整数部位,弃掉

9、32 位以后的字符5/3E. 当用户输入“ 0”时,如“ 0”之前的算式或数字的值为0,点击“ =” 后,输出界面显示“底数不能为0”11)以上全部的运算都是在 10 进制下进行2.2 设计要求可编辑资料 - - - 欢迎下载精品名师归纳总结(1) 明白 Windows 编程的基础学问,把握MFC 应用程序的基本学问 .(2) 懂得需求分析过程,把握需求分析文档编写.(3) 懂得面对对象程序设计的基本思路和方法.(4) 把握用 VC+ 开发 MFC 应用程序的一般步骤和方法 .(5) 把握基于对话框的应用程序的编写,主要包括文本框和按钮等.(6) 把握后缀表达式算法 .(7) 把握 VC+开发

10、工具的使用 .包括资源治理,工程创建,运行调试等 .(8) 完成表达式的运算器应用程序,实现基本的加、减、乘、除等四就运算,且支持包括括号的表达式运算功能.3 系统实现3.1 对话框界面设计3.2 数值运算实现例如:2 ( 2+2) =?22*2*2+22*2+22* (2+2)84 程序关键代码及运行结果#include #include #include Stack.h #include using namespace st。d可编辑资料 - - - 欢迎下载精品名师归纳总结bool jisuandouble a,double b,char c,double& dswitch c可编辑资料

11、 - - - 欢迎下载精品名师归纳总结case +:d=a+b。case -:d=a-b。case *:d=a*b。case /:d=a/b。/couta+bendl 。return true。/couta-bendl 。return true。/couta*bendl 。return true。ifb=0throw CString 除零错误 . 。/couta/bendl 。return true。可编辑资料 - - - 欢迎下载精品名师归纳总结case ,:/couta,b0/将符号压栈op.Addcharnum 。elsechar mid 。whilearraynum-40pre-400

12、int MyCheck=intname.ati-1。ifMyCheck=48|MyCheck=41break。else throw CString 括号中的表达式不合法 。elsethrow CString 显现未匹配的 。tryop.Deletemid 。可编辑资料 - - - 欢迎下载精品名师归纳总结catchCString ethrow CString 显现未匹配的 。double data1,data2。trydata.Deletedata2。data.Deletedata1 。catchCString ethrow CString 缺少操作数 。if.jisuandata1,data

13、2,mid,data1result=0 。throw CString 表达式反常 。data.Adddata1 。pre=intop.Top 。/ CompuetrDlg.cpp :实现文件/#include stdafx.h #include Compuetr.h #include CompuetrDlg.h #include counter.h #include 可编辑资料 - - - 欢迎下载精品名师归纳总结#include .compuetrdlg.h using namespace std。#ifdef _DEBUG#define new DEBUG_NEW #endifvoid C

14、CompuetrDlg:OnPaintif IsIconicCPaintDC dcthis 。 / 用于绘制的设备上下文SendMessageWM_ICONERASEBKGND, reinterpret_castdc.GetSafeHdc, 0。/ 使图标在工作矩形中居中int cxIcon = GetSystemMetricsSM_CXICON 。int cyIcon = GetSystemMetricsSM_CYICON 。CRect rect。GetClientRect&rect 。int x = rect.Width - cxIcon + 1 / 2。int y = rect.Heig

15、ht - cyIcon + 1 / 2。/ 绘制图标dc.DrawIconx, y, m_hIcon 。elseCRect rect 。CPaintDC dcthis 。GetClientRectrect 。dc.FillSolidRectrect,RGB255,0,0。/ 设置背景颜色CDialog:OnPaint 。CDialog:OnPaint 。可编辑资料 - - - 欢迎下载精品名师归纳总结/ Compuetr.cpp : 定义应用程序的类行为./#include stdafx.h #include Compuetr.h #include CompuetrDlg.h #ifdef _

16、DEBUG#define new DEBUG_NEW#endif/ CCompuetrApp BEGIN_MESSAGE_MAPCCompuetrApp, CWinAppON_COMMANDID_HELP, CWinApp:OnHelp END_MESSAGE_MAP/ CCompuetrApp构造CCompuetrApp:CCompuetrApp/ TODO: 在此处添加构造代码,/ 将全部重要的初始化放置在InitInstance 中/ 唯独的一个 CCompuetrApp 对象CCompuetrApp theApp 。/ CCompuetrApp初始化BOOL CCompuetrApp:

17、InitInstance/ 假如一个运行在 Windows XP 上的应用程序清单指定要/ 使用 ComCtl32.dll版本 6 或更高版原先启用可视化方式,/ 就需要 InitCommonControls. 否就,将无法创建窗口. InitCommonControls 。CWinApp:InitInstance。可编辑资料 - - - 欢迎下载精品名师归纳总结/ 标准初始化/ 假如未使用这些功能并期望减小/ 最终可执行文件的大小,就应移除以下/ 不需要的特定初始化例程/ 更换用于储备设置的注册表项/ TODO: 应适当修改该字符串,/ 例如修改为公司或组织名SetRegistryKey_T

18、 应用程序向导生成的本的应用程序 。CCompuetrDlg dlg 。m_pMainWnd = &dlg。INT_PTR nResponse = dlg.DoModal。if nResponse = IDOK/ TODO: 在此放置处理何时用“确定”来关闭/ 对话框的代码else if nResponse = IDCANCEL/ TODO: 在此放置处理何时用“取消”来关闭/ 对话框的代码/ 由于对话框已关闭,所以将返回FALSE 以便退出应用程序,/ 而不是启动应用程序的消息泵. return FALSE 。/stack #include #include #includeusing na

19、mespace std。可编辑资料 - - - 欢迎下载精品名师归纳总结template class LinkedStack 。template class Nodefriend LinkedStack 。private:T data。Node *link 。 。template class LinkedStackpublic:LinkedStacktop=0 。length=0。LinkedStack 。bool isEmptyconstreturn top=0 。bool isFullconst 。T Top const。LinkedStack&Addconst T& x。LinkedSt

20、ack&DeleteT& x。int getLengthreturn length。private:Node *top 。int length 。 。template 可编辑资料 - - - 欢迎下载精品名师归纳总结LinkedStack:LinkedStackNode *next 。whiletopnext=top-link 。delete top。top=next 。template bool LinkedStack:isFullconsttryNode *p=new Node。delete p。return false 。catchbad_alloc& ereturn true 。tem

21、plate T LinkedStack:TopconstifisEmptythrow CString 堆栈空反常 . 。return top-data 。可编辑资料 - - - 欢迎下载精品名师归纳总结template LinkedStack& LinkedStack:Addconst T& xNode *p=new Node。p-data=x 。p-link=top 。top=p 。length+ 。return *this 。template LinkedStack& LinkedStack:DeleteT& xifisEmptythrow CString 堆栈空反常 . 。x=top-d

22、ata 。Node *p=top 。top=top-link 。delete p。length- 。return *this 。5 总结与体会运算器虽然是我们生活中常见的一样工具,但不知道实现这样一个工具,说 实话不是很简洁,对于我这个学习一般的人来说,很难!运算器虽小,但包 含了一些简洁却又重要的功能,包括加减乘除,次方,括号等一些基本功能, 它便利了大众的日常生活中遇到的运算问题.完成这个任务,说实话很艰难,但挺了过来,坚持了过来,所谓凡事贵在坚持,所以要学会坚持,坚持就是胜利.可编辑资料 - - - 欢迎下载精品名师归纳总结一个人的力气是有限的,学会与人合作,积极请教他人虚心学习是必要的

23、,它 只会让你更加的进步,会更好 .所以这个任务让我学到了很多,坚持,努力,合作,进取,积极向上,天下无难事,只要肯用心!可编辑资料 - - - 欢迎下载精品名师归纳总结版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理。版权为潘宏亮个人全部This article includes some parts, including text, pictures, and design. Copyright is Pan Hongliangs personal ownership.用户可将本文的内容或服务用于个人学习、争论或观看,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他

24、相关法律的规定,不得侵害本网站及相关权益人的合法权益。除此以 外,将本文任何内容或服务用于其他用途时,须征得本人及相关权益人的书面许可,并支付酬劳。Users may use the contents or services of this article for personal study, research or appreciation, and other non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law an

25、d other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant ob

26、ligee.可编辑资料 - - - 欢迎下载精品名师归纳总结转载或引用本文内容必需是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任。Reproduction or quotation of the content of thisarticle must be reasonable and good-faith citation for theuse of news or informative public free information. Itshall not misinterpret or modify the original intention ofthe content of this article, and shall bear legal liabilitysuch as copyright.可编辑资料 - - - 欢迎下载

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com