C++实践报告

上传人:枫** 文档编号:510414684 上传时间:2022-10-25 格式:DOC 页数:5 大小:108.50KB
返回 下载 相关 举报
C++实践报告_第1页
第1页 / 共5页
C++实践报告_第2页
第2页 / 共5页
C++实践报告_第3页
第3页 / 共5页
C++实践报告_第4页
第4页 / 共5页
C++实践报告_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《C++实践报告》由会员分享,可在线阅读,更多相关《C++实践报告(5页珍藏版)》请在金锄头文库上搜索。

1、 中南大学本科生课程设计(实践)任务书、设计报告(C+程序设计)题 目C+程序设计实践 学生姓名* *指导教师 孙 岱学 院地球科学与信息物理学院专业班级信息物理工程类1106班学生学号01451106*计算机基础教学实验中心2012年 7 月 日 C+程序设计实践报告书C+是一种使用非常广泛的电脑程式设计语言,在当今网络如此发达的时代能够运用C+语言进行编程显得尤为重要。它是一种静态资料类型检查的,支援多范型的通用程式设计语言。C+支援程序化程式设计、资料抽象化、面向对象程式设计、泛型程式设计、基于原则设计等多种程式设计风格。在系统学习完C+程序设计基础课程后,我们在老师的指导下进行了这次C

2、+程序设计实践,主要以visual C+6.0为编译环境,重点使用了visual C+ MFC编程实现实践所要求的功能。【任务描述】这次实践采用了上机实践与老师集体辅导结合的方式,以完成辅导老师下发的C+语言课程设计任务书中指定任务与要求为目的,要求我们在已学过的C+程序设计基础所掌握的一些C+语言的结构和函数的基础上,以全新的角度去感知和运用C+语言进行一些具有相关目的和功能的程序设计和编译。在这次实践中,我们统一以visual C+ 6.0为编译系统,使用visual C+ MFC编程来达到和完成辅导老师给的C+语言课程设计任务书中给出的题目,其中部分题目以基本对话框为应用程序的框架,另一

3、部分则设计为单文档界面(SDI)应用程序。这些程序都具有不同的设计目的和应用功能,运用了常用的基本控件,如静态文本框、命令按钮、编辑框、复选框、列表框、组合框、滚动条等。本次实践可分为三部分:一、 基于对话框的Windows应用程序:这部分以知识要点掌握与编程实例主辅结合的方式,让我们基本掌握了基于对话框的应用程序的创建过程,建立基于对话框的 MFC 应用程序框架,放置控件并设置控件属性,以及为控件连接变量(即为控件命名),添加并且编写消息处理函数。在这部分实践中,我按照任务书中要求按照任务书所给的实例,基本掌握了基于对话框的 MFC 应用程序中各常用的基本控件的使用。在完成对MFC编程的初步

4、了解后,我们按C+语言课程设计任务书所给出的题目和要求完成了相关基于对话框的 MFC 应用程序的编译。实践完成了以下任务和要求: 1.编写一个如图所示的应用程序。若单击“复制”按钮,则把上面的编辑框中的内容复制到下面的编辑框中;若单击“结束”按钮,则退出程序的运行。 2.输入一元二次方程 ax2 +bx+c=0 的系数 a 、 b 、 c ,计算并输出两个根 x1 、 x2 。 3.编写一个能对列表框进行项目添加、修改和删除操作的应用程序。 4.设计如图所示的对话框。若选定了“日期”或“时间”复选框,则在对应的只读编辑框中显示系统当前日期或时间。 5.设计如图所示的对话框。单击“确定”按钮后,

5、在列表框中显示选择的信息。 二、文档/视图结构应用程序:文档/视图结构的思想是将数据的管理与显示分离,其中文档用于管理应用程序的数据,而视图是用户界面,用于显示、打印文档中的数据,并管理与用户的交互。在这部分实践过程中,通过对任务书中介绍的几种SDI结构的典型应用程序来了解其结构及设计方法,学习和实践了典型应用包括:利用画笔、画刷等工具及位图处理的方法实现文字和图形的输出。利用定时器控件制作动画程序。对鼠标和键盘进行编程的基本方法。文件、字体、颜色等几种通用对话框的使用方法及自定义对话框的设计、调用方法。菜单的设计方法。通过课程实践,以及与同学之间的讨论,我们完成了这一阶段的任务要求: 6.编

6、写一个程序,绘制如图所示的 -22 之间的 sin 曲线。 7.设计一个如图所示的画图程序。要求按下鼠标右键画圆,按住鼠标左键移动画线。(图略)8.用定时器控制蝴蝶在窗口中飞舞,如图所示。(图略)9.设计一个如图所示的应用程序。若用户单击左键,则弹出输入成绩对话框,选择 OK 后平均成绩和总分在窗口的客户区输出。(图略)10.设计如图所示的菜单,并编写相应用的消息处理函数。(图略)三、完成综合题的程序设计:将实践过程中选择35题(或类似的题),做成一个综合程序,要求通过菜单调用各部分功能。可自行组织和发挥,使其安排合适。【系统设计思想】首先建立一个单文档结构的应用程序作为综合程序的主程序,通过

7、对菜单的设计完成与所需调用的各个对话框功能相适应的编辑。利用对话框类资源创建自己的对话框,然后建立成与实践中35题相对应的对话框,并分别按要求进行相关功能的实现。然后建立对话框类CMyDlg,在调用的地方建立对话框类对象CMyDlg dlg;然后dlg.DoModal(); 从而实现主程序对各个对话框的调用。在主程序的单文档界面的菜单中,可以对所需功能进行选择,然后调用出不同的对话框实现所系的功能,达到设计程序通过菜单调用各部分功能的目的。【系统功能】设计的综合程序以一个文档类的程序界面为依托,实现其余各个部分功能的调用。对书目管理、时间显示以及教师综合信息管理者三部分进行了整合,达到了对各个

8、部分功能之间的调用。在主界面中,我们可以对所需功能进行选择,从而到达不同的对话框界面进行不同功能的交互。当我们在菜单中选择“书目管理”时,程序自动弹出书目管理对话框,然后我们能对列表框进行项目添加、修改和删除操作等。而我们如果在主界面的菜单中选择“时间显示”,则系统会跳至另一个对话框界面,这个界面可以对当前的时间进行显示,在对话框中若选择了“日期”或者“时间”复选框,则在对应的只读编辑框中显示系统当前的日期或时间,从而实现了对系统当前时间信息的捕获。如果我们在最初的主界面菜单选择了“教师综合信息管理”,则在弹出的对话框中我们可以实现对教师姓名、性别、爱好、工龄以及职称进行选择。【设计过程】首先

9、打开VC+ 6.0编译系统,因为我设计的综合程序以一个文档类的程序界面为依托,实现其余各个部分功能的调用。对书目管理、时间显示以及教师综合信息管理者三部分进行了整合,从而达到了对各个部分功能之间的调用。所以创建过程如下:按照任务书要求设定工程名为“xw1106_0145110626,利用 AppWizard 创建一个 SDI 应用程序框架。在工作区中选定“ ResourceView ”,展开 Menu ,双击其中的 IDR_MAINFRAME ,可以看到由 AppWizard 生成的标准菜单。首先删除原有菜单项,然后添加自己所需要的菜单,添加方式为:双击空白菜单框,弹出“ Menu Item

10、Properties ”,输入菜单项的标题(名称)。若菜单项有一个子菜单(单击会弹出了一子菜单),则选定“弹出”,否则不要选定“弹出”;要输入一条分割线,则选定“分隔符”。我将菜单栏设定为三项,分别为“菜单”、 “小工具”以及“QQ”,其中菜单包含三个子选项分别为“方程求解/时间显示/书目管理”,小工具包含“复制/字符游戏”,而“QQ”则是通过进程方式实现对外部软件QQ的调用。利用“CDialog dlg; dlg.DoModal();”来实现各个子菜单项所对应的对话框的调用,而QQ的调用是个人加进去的(不是任务要求),利用了进程方式调用外部exe程序:STARTUPINFO si;PROCE

11、SS_INFORMATION pi;ZeroMemory(&si,sizeof(si);si.cb= sizeof(si);ZeroMemory(&pi,sizeof(pi);if(!CreateProcess(NULL, G:Program FilesTencentQQBinQQ.exe,NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi) MessageBox( 出错 , 提示 ,MB_OK|MB_ICONINFORMATION);WaitForSingleObject(pi.hProcess,INFINITE);CloseHandle(p

12、i.hProcess);CloseHandle(pi.hThread); 【运行情况】编译链接后程序运行正常,能实现通过菜单项调出相应的对话框的目的,以一个文档类的程序界面为依托,实现其余各个部分功能的调用。对书目管理、时间显示以及教师综合信息管理者三部分进行了整合,达到了对各个部分功能之间的调用。其中点击QQ也能很快的弹出QQ登陆界面。在主程序的单文档界面的菜单中,可以对所需功能进行选择,然后调用出不同的对话框实现所系的功能,达到设计程序通过菜单调用各部分功能的目的。【心得体会】在为期不到两周的课程设计中,我体会颇多,学到很多东西。我懂得了如何用 MFC编写可视化界面的应用程序,我加强了对C

13、+的认识,复习了自己以前的知识,自己的逻辑思考能力也提高不少。从而对Microsoft Visual C+ 6.0又有了更深入的认识!在这次课程设计中,我还懂得了程序开发的一些比较重要的步骤,总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。最重要的还是激发了我编程的兴趣和热情,让我从理论变成了能做一些小型程序,让我对编程更加热爱了。整体地评价这次课程设计,我认为收获很大,正如上面所说的那样,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识;设计增强了我们用所学知识去解决具体问题的能力,进一步培养了我们独立思考问题和解决问题的能力。特别是学会了在Visual C+ 集成开发环境中如何调试程序的方法。当然,老师的悉心指导和同学的帮助也是不可忽视的,在此感谢本次课程设计中所有辅导老师对我的关心和帮助,诚心诚意感谢老师对我的鼓励与教导,是老师在我迷茫的时候给了我些许提示,激发了我编程的灵感;还有,我在此也十分感谢本次课程设计中同学们对我的帮助,尽管本次不是团队合作,但是他们也给了我不少的提示和帮助,我们相互沟通、共同进步。【参考文献】1 杨长兴、刘卫国.C+程序设计.中国铁道出版社2 刘卫国、杨长兴.C+程序设计实践教程.中国铁道出版社

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

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

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