加中实训课程设计

上传人:F****n 文档编号:103048039 上传时间:2019-10-05 格式:DOC 页数:5 大小:23KB
返回 下载 相关 举报
加中实训课程设计_第1页
第1页 / 共5页
加中实训课程设计_第2页
第2页 / 共5页
加中实训课程设计_第3页
第3页 / 共5页
加中实训课程设计_第4页
第4页 / 共5页
加中实训课程设计_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《加中实训课程设计》由会员分享,可在线阅读,更多相关《加中实训课程设计(5页珍藏版)》请在金锄头文库上搜索。

1、加中实训课程设计-计算器设计报告 程序设计基础(C+)课程设计报告 计算器 姓 名: 班 级: 学 号: 指导教师: 成 绩: 完成时间: 完成地点: 加中实训课程设计-计算器设计报告 计算器 1 基本功能描述 计算器包含基本的四则运算、开方、倒数、相反数(正负)等运算。可对输入任意操 作数,包括小数和整数及正数和负数进行以上的所有运算。同时包含清除功能。 2设计思路 如图 1 是计算器总流程图,输完第一个操作数后,若点击双目运算符,则把 m_edit 传递给op1,并传递给变量calculator 相对运算符对应的值,输入的第二个操作数传递给 op2,点击等号根据calculator 的值进

2、行相应运算并输出结果。若点击的是单目运算符, 则直接对其处理得出结果。若点击清零,则m_edit 等于0。设计思路流程图如下(见下页)。 加中实训课程设计-计算器设计报告 图1 计算器设计思路总流程图 编辑框关联变量 m_edit 保存至op2 选择“=”根据变 量 calculator 的值 进行运算 把结果保存到s 选择运算符 传递 信 息 给 变 量 calculator 输入数据1 编辑框关联变量 m_edit 保存至op1 输出结果 结束 开始 输入数据2 运算符鉴别 编辑框关联变量 m_edit 保存至x 双目运算符单目运算符 进行运算 把结果保存到x 加中实训课程设计-计算器设计

3、报告 3 软件设计3.1 创建步骤 打开Microsoft Visual C+ 6.0,选择新建,在弹出框内选择MFCAppWizardexe工程, 输入工程名Calculator 及其所在位置。将弹出MFCAppWizard-step 1 对话框,选择基本对 话框,点击完成。MFCAppWizard 建立基于对话窗口的程序框架。 3.2 界面设计1、创建控件 在对话框上的合适的位置画出编辑框和下压式按钮。如图2 所示。 图2 绘制编辑框 在按钮和编辑框属性对话框中输入控件的ID 值和标题属性。如图3 所示。 图3 Push Button 属性 按照上面的操作过程编辑其他按钮和编辑框等对象的属

4、性。 加中实训课程设计-计算器设计报告 表1 各对象属性 对象 ID 标题或说明 编辑框 IDC_EDIT1 结果显示 按钮 IDC_BUTTON0 0 按钮 IDC_BUTTON1 1 按钮 IDC_BUTTON2 2 按钮 IDC_BUTTON3 3 按钮 IDC_BUTTON4 4 按钮 IDC_BUTTON5 5 按钮 IDC_BUTTON6 6 按钮 IDC_BUTTON7 7 按钮 IDC_BUTTON8 8 按钮 IDC_BUTTON9 9 按钮 IDC_ BUTTONneg +/- 按钮 IDC_ BUTTONpot . 按钮 IDC_ BUTTONadd + 按钮 IDC_B

5、UTTONsub - 按钮 IDC_BUTTONmul * 按钮 IDC_BUTTONdiv / 按钮 IDC_BUTTONsqrt sqrt 按钮 IDC_BUTTONCE CE 完成后界面如图4 所示。 图4 计算器界面 加中实训课程设计-计算器设计报告 2、连接变量和代码 1) 给编辑框连接变量。在编辑框上单击鼠标右键,在弹出菜单中选择 ClassWizard 菜单项,弹出MFCClassWizard 对话框,选择Member Variables 选项卡,如图5 所示。 图5MFCClassWizard 对话框中的Menber Variable 选项卡单击Add Variables 按钮

6、,在弹出的对话框中连接变量m_edit。变量类型设定为CString 型。如图6 所示。 图6 m_edit 属性设置 加中实训课程设计-计算器设计报告 2) 给“1”按钮连接代码。在“1”按钮上单击鼠标右键,选择 ClassWizard 菜单项,在弹 出的对话框中选择Messages Maps 选项卡,在Messages 列表框中选择BN_CLICKED 项, 即选择单击按钮事件,如图7 所示。 图7 “1”按钮链接代码对话框 3.3 关键功能的实现 1)操作数的输入 编辑框所关联的变量为m_edit,程序开始时为零。每点击一个数字键按钮,就把它累 加到m_edit 里并刷新显示。 2)单目

7、运算符功能的实现单目运算符中包含要执行运算的函数。 正负号功能的实现 利用语句 m_edit.FindOneOf(-)寻找操作数中是否有符号“-”,若没有符号,则在字 符串m_edit 前添加“-”。若有符号,则把字符串型变量m_edit 转变为浮点型,进行相反数 运算(对数值取负),再转变为字符串型通过传递给m_edit 输出。 开方sqrt 功能的实现 利用语句x=sqrt(x),实现功能。 倒数功能的实现 利用语句x=1/x,实现功能。 加中实训课程设计-计算器设计报告 3)双目运算符功能的实现 执行双目运算符把 m_edit 中的操作数值保存到变量 op1 中,然后把 m_edit 清

8、零。再 将输入的第二个操作数保存到变量op2 中。根据相应的运算符赋予变量calculator 相应值, 执行等号运算时,根据calculator 值选择对应运算函数,讲运算结果传递给m_edit 并输出。 4)小数点 利用语句m_edit.FindOneOf(.) 寻找操作数中是否有符号“.”, 若有不添加“.”。若 没有判断m_edit.GetLength(),若大于0,添加字符串“.”;若等于0,添加字符串 “0.”。 4 结论与心得体会 经过测试,得出结论为设计的计算器能够完成功能描述内容中的全部功能。 经过2 个星期的课程设计实训,在老师和同学的共同帮助下,顺利完成该课程设计, 收获

9、很大。 通过本次实训,我在很多方面得到了很大提升。 首先在理论知识与实际操作能力的结合方面,通过具体应用软件的制作,课本中学习 到知识得到具体的应用,对知识的理解更清晰、具体、全面,理论知识的实际应用更加熟 练。对类、函数等概念的理解和应用更加深刻。编程语言语句的应用更为流利,巩固了各 语句的使用方法和技巧。同时,对编程的过程了解的更加清晰,熟练地掌握了很多课堂知 识之外的能力。 在团队协作方面,我意识到了团队协作的重要意义,学到了如何从他人处寻得帮助和 与他人分享成果。从团队合作中我学习到了技术协作与人际交流双方面的能力。懂得怎样 通过团队协作提高效率。 另外,通过本次实训,我充分意识到了当

10、前人才市场现况和自己的不足,对自己的现 况有了危机感,并制定了自己的发展计划,使自己确立明确的奋斗目标,为成为合格计算 机专业人才而努力。 加中实训课程设计-计算器设计报告 5 附录 关键源代码 数字键程序代码(以“1”为例) void CCalculatorDlg:OnButton1() /数字键“1” if (k!=1) /判断是否已点击运算符按钮 m_edit=m_edit+1; /如果k1 即没有点击运算符,则直接改变字符串 UpdateData(false); else m_edit=; /如果k=1 即点击过运算符,则先清空编辑框 UpdateData(false); m_edit

11、=m_edit+1; UpdateData(false); k=0; 四则运算程序代码(以“+”为例) float op1=0,op2=0; char calculate; void CCalculatorDlg:OnButtonadd() k=1; /是否点击过运算符的条件,与数字键对应 calculate=+; /传度“+”给变量calculator,与等号“=”对应 UpdateData(true); op1=atof(m_edit); 开方sqrt 程序代码 void CCalculatorDlg:OnBUTTONSqrt() k=1; UpdateData(true); 加中实训课程

12、设计-计算器设计报告 op1=atof(m_edit); if (op10)m_edit=m_edit+.; if (a=0&m_edit.GetLength()=0)m_edit=m_edit+0.; UpdateData(false); 等号“=”程序代码 void CCalculatorDlg:OnButtonequal() UpdateData(true); op2=atof(m_edit); float s; switch(calculate) case+:s=op1+op2;break; /与运算符键相对应的运算函数 case-:s=op1-op2;break; case*:s=o

13、p1*op2;break; case/:s=op1/op2;break; cases:s=sqrt(op1);break; casew:s=0;break; 加中实训课程设计-计算器设计报告 m_edit.Format(%f,s); UpdateData(false); 清除CE 程序代码 void CCalculatorDlg:OnButtonCE() m_edit=; UpdateData(false); 百分号程序代码 void CCalculatorDlg:OnButtonperc() k=1; float x; UpdateData(true); x=atof(m_edit); x=

14、x*100; m_edit.Format(%f,x); m_edit=m_edit+%; UpdateData(false); 正负号(相反数) void CCalculatorDlg:OnButtonneg () k=1; if (m_edit.FindOneOf(-)=0) float x; UpdateData(true); x=atof(m_edit); x=-x; m_edit.Format(%f,x); UpdateData(false); else 加中实训课程设计-计算器设计报告 UpdateData(true); m_edit=-+m_edit; UpdateData(fal

15、se); 倒数1/x 程序代码 void CCalculatorDlg:OnButtonreci() k=1; float x; UpdateData(true); x=atof(m_edit); x=1/x; m_edit.Format(%f,x); UpdateData(false); 企业一般可在支付平台上备案多个用于税费电子支付的账号,法人卡用户可通过点击“修改可操作账号”,将这些银行账号的操作权限给予指定的操作员卡用户,并设定最大可操作金额。County continuation records has examined and approved the draft, spirit, believe, comprehensive Yearbook of zhuanglang already prepared draft, entered the phase of evaluation. Civil air defense work

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

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号