计算机程序设计基础C++实践报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“计算机程序设计基础(C++)”课程设计报告
1 引言
通过实践加强对程序设计语言课程知识点的理解和掌握,培养对课程知识综合运用能力、实际分析问题能力及编程能力,养成良好的编程习惯。
通过实践进一步领会程序设计的特点和应用,提高运用C++ 语言以及面向对象知识解决实际问题的能力。
通过实践掌握用C++ 语言编写面向对象的实用程序的设计方法,对面向对象方法和思想增加感性的认识;
学会利用C++程序设计语言编写出一些短小、可靠的Windows实用程序,切实提高面向对象的程序设计能力。为后续的相关课程的学习打下基础。
2 总体设计
参照windows7系统提供的计算器,设计一个基于MFC框架的科学型计算器,具有双目运算和单目运算功能。双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦(利用泰勒多项式近似),阶乘,对数,开方,倒数等运算。可对输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算并能连续运算。同时包含清除,退出功能。并将对话框和菜单栏整合。
3 详细设计
一、利用Microsoft Visual C++ 6.0建立工程文件,在对话框窗体上顺序创建0到9十个数字按钮,并设置其ID分别为IDC_BUTTON_0到IDC_BUTON_9,同时创建其他按钮并设置ID。最终主要控件如图1所示:
三、在CMyDlg的BOOL CMyDlg::OnInitDialog()函数中进行成员变量初始化,初始化代码如图2所示
图3
四、通过MFC的“建立类向导”向CMyDlg类中添加各按钮的BN_CLICKED
五、由于程序中需要用一些数学函数如(pow,sinh,cosh,tanh,log,floor 等), 所以在“计算器Dlg.Cpp”开始处添加包含语句#include “math.h”(不能添加在首行)。
六、在“计算器Dlg.Cpp”源程序文件的末尾添加公有成员函数SetNum。这是用于连接变量和文本编辑框的值。同时在“计算器Dlg.h”类中添加自定义成员函数的声明:void SetNum(double i);代码清单如图6:
图6
七、OnButton0()~OnButton9()和OnButton314()消息处理函数只需调用SetNum 即可,如OnButton314()函数的代码清单如图7:
图7
八、计算器程序的关键是计算的顺序,当按下运算符键如(+、-、*、/、y√x、x^y等)时,它的右操作数还是未知的,因此要保存当前的运算符选择,然后键入要操作的数字,这一数字也要保存,直到按下“=”为止。因此还需要在“计算器Dlg.Cpp”源程序文件的末尾添加公有成员函数process(),具体操作与添加SetNum相同。其代码清单如图8:
图8
九、下面是加法按钮的消息处理程序,其他消息处理程序只是将运算符换位相应的“-”、“*”、“/”、“=”、“Exp”、“Mod”即可。“y√x”按钮的消息函数的代码清单如图9-2,“x^y”按钮的消息函数的代码清单如图9-3。即可。加法的代码清单如图9-1:
图9-1
图9-2
图9-3
十、小数点的消息处理函数的代码清单如图10:
图10
十一、“C”按钮的消息处理函数的代码清单如图11:
图11
十二、“CE”按钮的消息处理函数的代码清单如图12:
图12
十三、“cos”、“lg”、“n!”按钮的自定义函数代码清单分别如图13-1,13-2,13-3其消息处理函数的代码清单分别如图13-1-,13-2-,13-3-,并在“计算器Dlg.Cpp”类中添加成员函数的声明:double acos(double i)、double alog(double i)、int jiecheng(double i)。“sin”按钮也利用泰勒多项式与此类似。
图13-1
图13-2
图13-3
图13-1-
图13-2-
图13-3-
十四、“cosh”按钮采用内置函数,并在“计算器Dlg.Cpp”类中添加其消
息处理函数的代码清单如图14,“sinh”、“tanh”、“Exp”、“Mod”等也采用内置函数,代码与此类似。
图14
十五、“10 ”按钮消息函数的代码清单如图15:
图15
十六、“1/x”按钮消息函数的代码清单如图16:
图16
十七、“2√x”按钮消息函数的代码清单如图17,“x^2”、“x^3”、“3√x”按钮的代码与此类似。
图17
十八、“+-”按钮消息函数的代码清单如图18:
图18
十九、在对话框窗口中添加菜单,如图17-1,并在“清楚”按钮的消息函数写如图17-2的代码,在“关于”按钮的消息函数如图17-3的代码,并在“关于”中插入位图如图17-4,最后将菜单与对话框关联。
图19-1
图19-2
图19-3
图19-4
二十、由于编辑框的数字太小,所以在“计算器Dlg.Cpp”类中添加如图20的代码。
图20
二十一、科学计算器完成,界面如图21:
图21
4 设计总结
虽然经过多番测试,但设计的计算器也只能够完成描述内容中的部分功能。从这认识到自己对C++的了解只是初步。同时也感受到“纸上谈兵终觉浅,觉知此事要躬行。”,特别是MFC,更多的是靠实践,而不是只看看课本就够了。这次实践对于自己学习能力的培养有很大的帮助。不仅能加深我们对MFC 程序设计的掌握,而且还及时、真正的做到了学以致用。同时也有一些体会,主要是以下几点。一、基本功要过硬。不能马虎经常犯小错误。提高找错纠错能力,通常错误总是那几种,多练习就熟练了。二、要善于查找资料,提高自己的资料查询能力,要善于利用网络来获得知识,获得帮助。开始着手程序设计时,有些功能感觉无从下手,都不知道要干什么。这些问题只要找到相关的资料就会得到提示从而理解所要解决问题的大致方向。有了明确的目的,就可以发挥自己的头脑来完成它了。三、要善于思考。程序中有些实现难点和最初完成程序时免不了的许多不足就需要自己根据代码认真思考来解决。只有这样才能纠正程序的不足并使其更加人性化。
参考文献
《C++程序设计》/杨长兴,刘卫国主编.――2版.――北京:中国水利出版社,2012.1