《2022年陈文进面向对象程序设计 .pdf》由会员分享,可在线阅读,更多相关《2022年陈文进面向对象程序设计 .pdf(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+面向对象程序设计课程设计专业:数学与应用数学学号:0909402-27 姓名:陈文进指导教师:向旭宇成绩:2018 年 1 月 4 日目录精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 11 页2 / 11 1. 实验报告目的3 2. 实验报告题目描述和要求3 3. 实验报告内容4 3.1 题目求解的理论依据43.2 操作流程图13 3.3 程序调试出错信息及解决方法14 3.4 要程序运行结果15 3.5 心得体会19 参考书目19 用 VC+ 制作一个简易仿真计算器1. 课程设计目的精选学习资料 - - - - - - - -
2、- 名师归纳总结 - - - - - - -第 2 页,共 11 页3 / 11 1.1掌握 VC+ 利用 MFC 创建对话框和添加标准控件的方法 1.2 熟悉应用程序框架的创建方法及应用 1.3 理解 VC+ 编程和系统开发应用2. 课程设计题目描述和要求 2.1 课程设计题目描述随着人类科技日新月异,科技计算量越来越大。传统的手工计算已经完全不适应新时代的数字计算,手工计算不仅容易出错,而且耗时相当长。所以我开发了一个简易仿真计算器的软件平台,用以方便学生在学习期间,提高学习效率,减轻学生负担。用 VC+ 制作一个仿真计算器系统,在系统的设计中主要实现以下一些功能:加减乘除运算功能、小数点
3、运算功能、sin 运算功能、平方运算功能、和一键清除功能等等。 2.2 课程设计要求2.2.1 该仿真计算器应通过点击VC+不同的 button 按键发送消息给对应的消息处理函数,实现各自按键不同的功能。2.2.2该仿真计算器的功能包括加减乘除运算功能、小数点运算功能、三角运算功能、平方开方 开 n 次方运算功能、各类对数运算功能,简单括号运算和一键清除功能。2.2.3 该仿真计算器的界面包括数值输入区,各类运算区,显示区。2.3 课程设计分组2.3.1 组长:刘雷组员:陈文进本人负责:平方,开根号,开x 次方功能的实现。显示之前四则运算操作功能和求余运算功能的实现。为对话框中编辑框控件添加对
4、应的关联成员变量和各类对数运算功能。全部三角运算功能和全部程序代码的调试。3. 实验报告内容3.1 题目求解的理论依据及算法精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 11 页4 / 11 (1)在计算器界面上按下所输入的数值1,系统自动把数值1 赋给编辑框关联成员变量 double m_s1 ,在输入数值 1 的过程中如果按下了小数点的键,则改变了 int huanxiaoshudian的值,并且多次数值键时通过double xiaoshudian3可以使得系统接收多位小数。然后按下所选运算符的按键,系统把 double m_s1
5、 的值赋给公有成员变量double a1 ,并且把 double m_s1 重新赋值为 0,且改变 int yunsuanfu的数值。为后面通过选择语句执行对应运算。继续按数值键,输入数值2,系统自动把数值2 赋给编辑框关联成员变量double m_s1 ,之后按下等于键,系统把double m_s1 赋值给 double s2 ,系统根据 int yunsuanfu的值和对应的选择语句,执行对应的运算,并且将对应结果赋值给 double m_s1 ,编辑框显示运算结果。(2)利用宏定义#define PI 3.14159为后面的三角运算提供PI=3.14159 。(3)如果需要进行括号运算,
6、系统初始化int kuohaobianliang为 1,按下左括号键后,变量值改为2,之后的运算进入括号运算,直到按下右括号键,算出括号内运算值,并将该值赋给double m_s1 。(4)利用宏定义#define e 2.705为后面的对数运算提供e 值为 2.705 主要数据结构类公有成员变量说明(1) int huanxiaoshudian。在按下小数点键之后通过对应的消息处理函数,改变该变量值使得继续按键输入的是小数。(2)double xiaoshudian3。在按下小数点键之后通过对应的消息处理函数, 改变该变量值使得继续按键,以后每一次按键输入的数是紧接着前面的数,实现正常的小数
7、的输入。(3)double s2 。在按下等于键之后通过对应的消息处理函数,将m_s1 的值赋给 s2,从而 s2 保存了运算数 2,为后面的运算做准备(4)int yunsuanfu。 在按下某一运算符键之后通过对应的消息处理函数,改变该变量值为后面通过选择语句执行对应运算(5)double a1 。在按下运算键之后通过对应的消息处理函数,将m_s1 的值赋给 a1,从而 a1保存了运算数 1,为后面的运算做准备(6)double m_s1 。控件 IDC_EDIT1 的关联成员变量,储存数值和将数值显示在显示框。(7)CString m_xianshibuzhu 。控件 IDC_EDIT2
8、 的关联成员变量,将之前的操作步骤显示在显示框IDC_EDIT2 。(8)#define PI 3.14159为后面的三角运算提供PI=3.14159 (9)char computerchar。在实现将操作步骤显示在显示框IDC_EDIT2中,在按下运算符键时,将对应运算符的字符存储于char computerchar中。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 11 页5 / 11 (10)int kuohaobianliang。该变量初始值为1,按下左括号键后,变量值改为 2,之后的运算进入括号运算,直到按下右括号键,算出括号
9、内运算值,并将该值赋给 double m_s1 。本人负责内容:13 开平方 ,e 的 x 次方,x 的 y 次方, 以 e 为底 x 的对数 , 以 10 为底 x 的对数的运算的类成员函数与平方运算的类成员函数void CJisuanqiDlg:OnBUTTONpingfang() 对应类似开平方 void CJisuanqiDlg:OnBUTTONgenhao() e 的 x 次方 void CJisuanqiDlg:Onex() x 的 y 次方 void CJisuanqiDlg:OnButton21() 以 e 为底 x 的对数 void CJisuanqiDlg:Onlnx()
10、以 10 为底 x 的对数 void CJisuanqiDlg:Onlog10() 14 void CJisuanqiDlg:OnBUTTONzuokuohao() 是类 CJisuanqiDlg的共有成员函数kuohaobianliang的初始值为 1,通过改变量值kuohaobianliang=9 为后面void CJisuanqiDlg:OnBUTTONyoukuohao()函数通过选择语句执行对应括号内运算(执行括号内运算)。void CJisuanqiDlg:OnBUTTONzuokuohao() / TODO: Add your control notification handl
11、er code here UpdateData() 。computerchar=(。m_xianshibuzhu=m_xianshibuzhu+computerchar 。 kuohaobianliang=2。UpdateData(FALSE)。 15void CJisuanqiDlg:OnBUTTONyoukuohao()与void CJisuanqiDlg:OnButton14()的功能类似,有一点不同在于该函数执行的是括号内运算。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 11 页6 / 11 16 void CJisuanq
12、iDlg:OnQiuyu() 类 CJisuanqiDlg的共有成员函数,改变变量值yunsuanfu=15 后面通过选择语句执行对应运算(执行求余运算)。void CJisuanqiDlg:OnQiuyu() / TODO: Add your control notification handler code here UpdateData() 。yunsuanfu=15。a1=m_s1 。m_s1=0 。UpdateData(FALSE)。 17 void CJisuanqiDlg:Onezhi() 类 CJisuanqiDlg的共有成员函数,通过语句进行e 的运算void CJisuan
13、qiDlg:Onezhi() / TODO: Add your control notification handler code here UpdateData() 。m_s1=m_s1*e 。UpdateData(FALSE)。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 11 页7 / 11 3.2 操作流程图制作简单仿真计算器基本流程图利用 MFC 创建一个标准对话框为对话框添加所需的各种标准控件为对话框中编辑框控件添加对应的关联成员变量添加功能加减乘除的四则运算数的各类次方开 方三 角 运算 求余运算简单括号运算小数点运算
14、一键清除显示之前四则运算操作编制过程代码运行结果调试精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 11 页8 / 11 3.3 程序调试出错信息及解决方法3.3.2 平方 开方 三角运算功能3.3.2.1出错信息我的 C语言作业实验报告和课程设计课程设计jisuanqijisuanqiDlg.cpp(425) : error C2065: sin : undeclared identifier 我的 C语言作业实验报告和课程设计课程设计jisuanqijisuanqiDlg.cpp(430) : error C2065: sqrt :
15、 undeclared identifier 我的 C语言作业实验报告和课程设计课程设计jisuanqijisuanqiDlg.cpp(435) : error C2065: cos : undeclared identifier 我的 C语言作业实验报告和课程设计课程设计jisuanqijisuanqiDlg.cpp(440) : error C2065: tan : undeclared identifier 3.3.2.2解决办法没有为程序添加对应头文件#include “math.h”进而导致错误发生,应在对应头文件区域添加头文件#include “math.h”精选学习资料 - -
16、- - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 11 页9 / 11 3.4 主要程序运行结果3.4.2 平方 开方 三角运算功能通过验证 sin (0.25PI )=cos(0.25PI )=0.7071063 tan (0.25PI )=0.9999999 2的平方为 4 和 64 的开方为 8 lne=1 log10100=2 actan1=PI/4。acsin0=0 accos0=1 说明平方开方 对数 三角运算功能达到预期目标,功能成功实现。图 3-24 运算 tan (0.25PI )的值精选学习资料 - - - - - - - - - 名师归纳
17、总结 - - - - - - -第 9 页,共 11 页10 / 11 3.4.4 显示之前四则运算的操作步骤如图 3-27 3.4.5 求余运算功能如图 3-28 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 11 页11 / 11 3.5 心得体会在这次课程设计中,首先对面向对象编程及MFC 应用程序理论知识有了系统地学习。在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我通过查找大量资料,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,实验报告,我学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。当然在实验报告的过程中也遇到了不少问题,经常程序运行错误,可经过细心检查,反复思考,加上老师和同学的帮助使问题得以解决。通过这次实验报告,激励了我以后更好地学习,结合理论、善于实践,使自己有更好的提高!最后感谢老师给予我们的帮助!参考文献:1 王育坚 Visual C+面向对象编程教程(第二版)北京:清华大学出版社,2007 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 11 页
限制150内