课程设计报告模板及示例.

上传人:今*** 文档编号:105923175 上传时间:2019-10-14 格式:DOC 页数:23 大小:735KB
返回 下载 相关 举报
课程设计报告模板及示例._第1页
第1页 / 共23页
课程设计报告模板及示例._第2页
第2页 / 共23页
课程设计报告模板及示例._第3页
第3页 / 共23页
课程设计报告模板及示例._第4页
第4页 / 共23页
课程设计报告模板及示例._第5页
第5页 / 共23页
点击查看更多>>
资源描述

《课程设计报告模板及示例.》由会员分享,可在线阅读,更多相关《课程设计报告模板及示例.(23页珍藏版)》请在金锄头文库上搜索。

1、 课程设计报告 C+课程设计:简单计算器 学 院计算机与通信工程 专业名称物联网工程 班级学号 学生姓名 指导教师敬茂华 2 20 01 13 3 年 月 日 东北大学秦皇岛分校计算机与通信工程学院 物联网工程专业C+程序设计课程设计报告 2 设计要求:设计要求: 设计一基于 Windows 的应用程序,使其能完成简单的计算功能。 计算功能包括:加、减、乘、除、求余数、求阶乘、指数运算、 程序界面自己设计 东北大学秦皇岛分校计算机与通信工程学院 物联网工程专业C+程序设计课程设计报告 3 目录 1 基本功能描述1 1 2 设计思路1 1 3 软件设计4 4 3.1 设计步骤 4 3.2 界面设

2、计 5 3.3 关键功能的实现 .11 4 结论与心得体会1212 5 参考文献1313 6 附录1313 6.1 调试报告 .13 6.2 测试结果 .14 6.3 关键源代码 .15 东北大学秦皇岛分校计算机与通信工程学院 物联网工程专业C+程序设计课程设计报告 1 简单计算器 1 基本功能描述 简单计算器包括双目运算和单目运算功能。双目运算符包含基本的四则运算及乘幂 功能,单目运算符包含正余弦,阶乘,对数,开方,倒数等运算。可对输入任意操作数, 包括小数和整数及正数和负数进行以上的所有运算并能连续运算。出现错误会给出相应 提示,同时包含清除,退格,退出功能以及有与所有按钮相对应的菜单项。

3、 2 设计思路 如图是整个计算器的流程图,打开计算器程序,输入数据,调用输入数据子程序。 子程序开始时 m_num 为零。按下数字按钮后,判断 m_num 的正负号,对其进行相关处理, 然后在判断是否有小数点,处理后输出结果。 回到总流程图中,输完第一个操作数后,若按下双目运算符,则把 m_num 存入 num2,按下输入第二个操作数并算出结果。若按下的是单目运算符,则直接对其处理得 出结果。若按下清零,则 m_num 等于 0.在运算中还要判断运算是否合法,以及结果是否 超出显示范围,以做出相关提示,按下清零。算出后把结果保存至 num2。若需用算出的 结果继续运算则回到输入完第一个操作数后

4、,若不需要则判断试否需要开始新一轮的运 算,不需要则结束。 东北大学秦皇岛分校计算机与通信工程学院 物联网工程专业C+程序设计课程设计报告 2 N N Y 键入一个数 是否为正数? m_num =10*m_num+i m_num =10*m_num-i 是否为小数? 用 UpdateData(FALSE)刷新显示 还原 m_num 根据小数点后位数将键入的 数除以 n 次 10 累加到 m_num Y N 继续键入数字? Y 输入数据子函数 编辑框关联变量 m_num=0 图 1 输入数据子函数流程图 东北大学秦皇岛分校计算机与通信工程学院 物联网工程专业C+程序设计课程设计报告 3 Y 开始

5、 输入数据子函数 编辑框关联的变量 保存至 num2 输入数据子函数 进行运算 运算是否合法 把结果保存到 num2 m_num 清零 弹出对话框显 示 ERROR N Y 是否用保存的结果 继续进行运算 N 结束 jie 双目运算符单目运算符 是否开始新一轮的 计算 Y N 图 2 简单计算器总流程图 东北大学秦皇岛分校计算机与通信工程学院 物联网工程专业C+程序设计课程设计报告 4 3 软件设计 3.1 设计步骤 打开 Microsoft Visual C+ 6.0,在文件中点击新建,在弹出框内选择 MFC AppWizardexe工程,输入工程名 zhoutong 及其所在位置,点击确定

6、,如图 3 所示。 图 3 新建 MFC AppWizardexe工程 将弹出 MFC AppWizard-step 1 对话框,选择基本对话框,点击完成,如图 4 所示。 东北大学秦皇岛分校计算机与通信工程学院 物联网工程专业C+程序设计课程设计报告 5 图 4 基本对话框 这样,MFC AppWizard 就建立了一个基于对话窗口的程序框架,如图 5 所示。 图 5 新建的对话框 3.2 界面设计 1、创建控件 在图 5 所示的 Resoure View 选项卡中打开 Dialog 资源组,双击 IDD_ZHOUTONG_DIALOG,在右边的窗口中显示出待编辑的对话框。开始摆放控件, 东

7、北大学秦皇岛分校计算机与通信工程学院 物联网工程专业C+程序设计课程设计报告 6 包括编辑框和按钮的创建。按钮的创建以“1”为例进行介绍,其他按钮的创建可参照此进 行操作。 1)在图 5 中 Controls 的“编辑框”按钮上单击鼠标左键,在对话框编辑窗口上合适的 位置按下鼠标左键并拖动鼠标画出一个大小合适的编辑框。在编辑框上单击鼠标右键, 在弹出的快捷莱单中选择属性选项,此时弹出 Edit 属性对话框,如图 6 所示,在该对话 框中输入 ID 属性。 图 6 Edit 属性对话框 2)在图 3 中 Controls 的“Button”按钮上单击鼠标左键,在对话框上的合适的位置上 按下鼠标左

8、键并拖动鼠标画出一个大小合适的下压式按钮。在按钮上单击鼠标右键,在 弹出的快捷菜单中选择属性选项,此时也弹出 Push Button 属性对话框,如图 7 所示,在 该对话框中输入控件的 ID 值和标题属性。 图 7 Push Button 属性 按照上面的操作过程编辑其他按钮和编辑框等对象的属性。 东北大学秦皇岛分校计算机与通信工程学院 物联网工程专业C+程序设计课程设计报告 7 表 1 各按钮和编辑框等对象的属性 对象ID标题或说明 编辑框IDC_xianshi结果显示 按钮IDC_BUTTON00 按钮IDC_BUTTON11 按钮IDC_BUTTON22 按钮IDC_BUTTON33

9、按钮IDC_BUTTON44 按钮IDC_BUTTON55 按钮IDC_BUTTON66 按钮IDC_BUTTON77 按钮IDC_BUTTON88 按钮IDC_BUTTON99 按钮IDC_change+/- 按钮IDC_point. 按钮IDC_add+ 按钮IDC_difference- 按钮IDC_multiply* 按钮IDC_devide/ 按钮IDC_sqrtsqrt 按钮IDC_daoshu1/x 按钮IDC_jiechengn! 按钮IDC_lnln 按钮IDC_sinsin 按钮IDC_coscos 按钮IDC_powxy 按钮IDC_Onequal= 按钮IDC_back

10、spaceBackspace 按钮IDC_OnclearClear 完成后界面如图 8 所示。 图 8 计算器界面 2、连接变量和代码 东北大学秦皇岛分校计算机与通信工程学院 物联网工程专业C+程序设计课程设计报告 8 1) 给编辑框连接变量。在编辑框上单击鼠标右键,在弹出菜单中选择 ClassWizard 菜 单项,弹出 MFC ClassWizard 对话框,选择 Member Variables 选项卡,如图 9 所示。 图 9 MFC ClassWizard 对话框中的 Menber Variable 选项卡 在 Control IDs 列表框中选择 IDC_xianshi,单击 Ad

11、d Variables 按钮,在弹出的对话框 中连接变量 m_num。变量类型设定为 doubel 型。如图 10 所示。 图 10 m_num 属性设置 2) 给“1”按钮连接代码。在“1”按钮上单击鼠标右键,选择 ClassWizard 菜单项,在弹 出的对话框中选择 Messages Maps 选项卡,然后在 Object IDs 列表框中选择 IDC_ADD_BUTTON,在 Messages 列表框中选择 BN_CLICKED 项,即选择单击按钮事 件,如图 11 所示。 东北大学秦皇岛分校计算机与通信工程学院 物联网工程专业C+程序设计课程设计报告 9 图 11 “1”按钮链接代码

12、对话框 3、菜单的设计 选择 插入/资源命令,将显示插入资源对话框。如图 12 所示。选择 Menu,点击新建 即可。 图 12 插入资源对话框 Resoure View 选项卡中打开 Menu 资源组,双击 IDR_MENU1, 然后给菜单添加相应 的标题,并把每个菜单对应的 ID 值与相应的按钮的一致。如图 13 所示。 东北大学秦皇岛分校计算机与通信工程学院 物联网工程专业C+程序设计课程设计报告 10 图 13 菜单属性对话框 在对话框的任何一个空白域单击鼠标右键,然后在弹出的快捷菜单中选择 Properties 命令,弹出 Dialog Properties 对话框,如图 14。在对

13、话框中的菜单组合框中选择 IDR_MENU1。 图 14 对话属性对话框 最终的得到的界面如图 15。 图 15 计算器完整界面 东北大学秦皇岛分校计算机与通信工程学院 物联网工程专业C+程序设计课程设计报告 11 3.3 关键功能的实现 1)操作数的输入 编辑框所关联的变量为 m_num,程序开始时为零。每按下一个数字键按钮,就把它 累加到 m_num 里并刷新显示。BOOL 型变量 ele 来判断是否有小数点和一个整型数 dint 来表示小数点后的数据的位数。当 ele=TRUE 时,表示有小数点,否则则表示无小数点。 按下小数点按钮后执行 ele=TRUE。当按下一个数字键时,首先根据

14、ele 判断是否按下小 数点,若有则把小数点后数的位数加 1,dint 则为此次键入的数所处的位数,将键入的数 除以 dint 个 10 然后累加到编辑框所关联的变量 m_num 上,若没有则把 m_num 乘以 10, 然后累加到编辑框所关联的变量 m_num 上。 2)单目运算符功能的实现 由于单目运算符中必须有执行运算的函数,因而头文件中要加入 math.h,如 m_num=sqrt(m_num).按下按钮即可实现其功能。为实现连续运算,程序有所改动,参见 (6) 。 3)双目运算符功能的实现 双目运算符需要两个操作数才能运算,所以在执行双目运算符按钮的函数代码中, 要把 m_num 中

15、的值保存到变量 num2 中,然后把 m_num 清零。这样即可保存第一个操作 数。另外先定义了一个整形变量 addt,在不同的双目运算符中给 addt 赋不同的值,然后 在等号中用 switch 语句来匹配 addt 值来判断需要执行何种双目运算。为实现连续运算, 程序有所改动,参见(6) 。 4)退格键功能的实现 当按下一次退格按钮时,若 m_num 为整数,只需对其中数据除以 10 再取整即可, 若按下一次退格按钮为小数,则根据小数点后数据的位数 dint 进行操作,先对 m_num 执 行(dint-1)次乘以 10 运算,然后取整,接着执行(dint-1)次除以 10 的运算即可。完

16、成 后需要把 dint 将减小 1。 5) 正负号功能的实现 在头文件中定义一个 BOOL 型变量 ele2 来判断 m_num 的正负。ele2=TRUE 时表示 为正。在键入操作数时需要用到 ele2。在正负号按钮的消息响应函数内容为 m_num=- m_num;ele2=!ele2。 6)连续运算功能的实现 要连续运算必须将每次运算的结果保存下来。 对于双目运算符:首先在等号按钮的消息处理函数中在 m_num 清零之前将 m_num 的值赋给 num2.不过这样的话如果再按双目运算符则 num2 的值将会被覆盖,于是在双目 运算符按钮的消息处理函数中将“num2=m_num;”改为“if(m_num!=0)num2=m_num;”.这样 若已经保存了结果则不进行覆盖。然后在每个数字按钮前加上“if(addt=0)num2=0;”,这 样如果进行完一次运算之后按下任一数字键表示不需要连续运算,则将保存的结果删除, 东北大学秦皇

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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