您好,欢迎访问三七文档
中南大学本科生课程设计(实践)任务书、设计报告(C++程序设计)题目C++程序设计实践学生姓名**指导教师孙岱学院地球科学与信息物理学院专业班级信息物理工程类1106班学生学号01451106**计算机基础教学实验中心2012年7月日C++程序设计实践报告书C++是一种使用非常广泛的电脑程式设计语言,在当今网络如此发达的时代能够运用C++语言进行编程显得尤为重要。它是一种静态资料类型检查的,支援多范型的通用程式设计语言。C++支援程序化程式设计、资料抽象化、面向对象程式设计、泛型程式设计、基于原则设计等多种程式设计风格。在系统学习完《C++程序设计基础》课程后,我们在老师的指导下进行了这次C++程序设计实践,主要以visualC++6.0为编译环境,重点使用了visualC++MFC编程实现实践所要求的功能。【任务描述】这次实践采用了上机实践与老师集体辅导结合的方式,以完成辅导老师下发的《C++语言课程设计任务书》中指定任务与要求为目的,要求我们在已学过的《C++程序设计基础》所掌握的一些C++语言的结构和函数的基础上,以全新的角度去感知和运用C++语言进行一些具有相关目的和功能的程序设计和编译。在这次实践中,我们统一以visualC++6.0为编译系统,使用visualC++MFC编程来达到和完成辅导老师给的《C++语言课程设计任务书》中给出的题目,其中部分题目以基本对话框为应用程序的框架,另一部分则设计为单文档界面(SDI)应用程序。这些程序都具有不同的设计目的和应用功能,运用了常用的基本控件,如静态文本框、命令按钮、编辑框、复选框、列表框、组合框、滚动条等。本次实践可分为三部分:一、基于对话框的Windows应用程序:这部分以知识要点掌握与编程实例主辅结合的方式,让我们基本掌握了基于对话框的应用程序的创建过程,建立基于对话框的MFC应用程序框架,放置控件并设置控件属性,以及为控件连接变量(即为控件命名),添加并且编写消息处理函数。在这部分实践中,我按照任务书中要求按照任务书所给的实例,基本掌握了基于对话框的MFC应用程序中各常用的基本控件的使用。在完成对MFC编程的初步了解后,我们按《C++语言课程设计任务书》所给出的题目和要求完成了相关基于对话框的MFC应用程序的编译。实践完成了以下任务和要求:1.编写一个如图所示的应用程序。若单击“复制”按钮,则把上面的编辑框中的内容复制到下面的编辑框中;若单击“结束”按钮,则退出程序的运行。2.输入一元二次方程ax2+bx+c=0的系数a、b、c,计算并输出两个根x1、x2。3.编写一个能对列表框进行项目添加、修改和删除操作的应用程序。4.设计如图所示的对话框。若选定了“日期”或“时间”复选框,则在对应的只读编辑框中显示系统当前日期或时间。5.设计如图所示的对话框。单击“确定”按钮后,在列表框中显示选择的信息。二、文档/视图结构应用程序:文档/视图结构的思想是将数据的管理与显示分离,其中文档用于管理应用程序的数据,而视图是用户界面,用于显示、打印文档中的数据,并管理与用户的交互。在这部分实践过程中,通过对任务书中介绍的几种SDI结构的典型应用程序来了解其结构及设计方法,学习和实践了典型应用包括:利用画笔、画刷等工具及位图处理的方法实现文字和图形的输出。利用定时器控件制作动画程序。对鼠标和键盘进行编程的基本方法。文件、字体、颜色等几种通用对话框的使用方法及自定义对话框的设计、调用方法。菜单的设计方法。通过课程实践,以及与同学之间的讨论,我们完成了这一阶段的任务要求:6.编写一个程序,绘制如图所示的-2π~2π之间的sin曲线。7.设计一个如图所示的画图程序。要求按下鼠标右键画圆,按住鼠标左键移动画线。(图略)8.用定时器控制蝴蝶在窗口中飞舞,如图所示。(图略)9.设计一个如图所示的应用程序。若用户单击左键,则弹出输入成绩对话框,选择OK后平均成绩和总分在窗口的客户区输出。(图略)10.设计如图所示的菜单,并编写相应用的消息处理函数。(图略)三、完成综合题的程序设计:将实践过程中选择3~5题(或类似的题),做成一个综合程序,要求通过菜单调用各部分功能。可自行组织和发挥,使其安排合适。【系统设计思想】首先建立一个单文档结构的应用程序作为综合程序的主程序,通过对菜单的设计完成与所需调用的各个对话框功能相适应的编辑。利用对话框类资源创建自己的对话框,然后建立成与实践中3~5题相对应的对话框,并分别按要求进行相关功能的实现。然后建立对话框类CMyDlg,在调用的地方建立对话框类对象CMyDlgdlg;然后dlg.DoModal();从而实现主程序对各个对话框的调用。在主程序的单文档界面的菜单中,可以对所需功能进行选择,然后调用出不同的对话框实现所系的功能,达到设计程序通过菜单调用各部分功能的目的。【系统功能】设计的综合程序以一个文档类的程序界面为依托,实现其余各个部分功能的调用。对书目管理、时间显示以及教师综合信息管理者三部分进行了整合,达到了对各个部分功能之间的调用。在主界面中,我们可以对所需功能进行选择,从而到达不同的对话框界面进行不同功能的交互。当我们在菜单中选择“书目管理”时,程序自动弹出书目管理对话框,然后我们能对列表框进行项目添加、修改和删除操作等。而我们如果在主界面的菜单中选择“时间显示”,则系统会跳至另一个对话框界面,这个界面可以对当前的时间进行显示,在对话框中若选择了“日期”或者“时间”复选框,则在对应的只读编辑框中显示系统当前的日期或时间,从而实现了对系统当前时间信息的捕获。如果我们在最初的主界面菜单选择了“教师综合信息管理”,则在弹出的对话框中我们可以实现对教师姓名、性别、爱好、工龄以及职称进行选择。【设计过程】首先打开VC++6.0编译系统,因为我设计的综合程序以一个文档类的程序界面为依托,实现其余各个部分功能的调用。对书目管理、时间显示以及教师综合信息管理者三部分进行了整合,从而达到了对各个部分功能之间的调用。所以创建过程如下:按照任务书要求设定工程名为“xw1106_0145110626,利用AppWizard创建一个SDI应用程序框架。在工作区中选定“ResourceView”,展开Menu,双击其中的IDR_MAINFRAME,可以看到由AppWizard生成的标准菜单。首先删除原有菜单项,然后添加自己所需要的菜单,添加方式为:双击空白菜单框,弹出“MenuItemProperties”,输入菜单项的标题(名称)。若菜单项有一个子菜单(单击会弹出了一子菜单),则选定“弹出”,否则不要选定“弹出”;要输入一条分割线,则选定“分隔符”。我将菜单栏设定为三项,分别为“菜单”、“小工具”以及“QQ”,其中菜单包含三个子选项分别为“方程求解/时间显示/书目管理”,小工具包含“复制/字符游戏”,而“QQ”则是通过进程方式实现对外部软件QQ的调用。利用“CDialogdlg;dlg.DoModal();”来实现各个子菜单项所对应的对话框的调用,而QQ的调用是个人加进去的(不是任务要求),利用了进程方式调用外部exe程序:STARTUPINFOsi;PROCESS_INFORMATIONpi;ZeroMemory(&si,sizeof(si));si.cb=sizeof(si);ZeroMemory(&pi,sizeof(pi));if(!CreateProcess(NULL,G:\\ProgramFiles\\Tencent\\QQ\\Bin\\QQ.exe,NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi)){MessageBox(出错,提示,MB_OK|MB_ICONINFORMATION);}WaitForSingleObject(pi.hProcess,INFINITE);CloseHandle(pi.hProcess);CloseHandle(pi.hThread);【运行情况】编译链接后程序运行正常,能实现通过菜单项调出相应的对话框的目的,以一个文档类的程序界面为依托,实现其余各个部分功能的调用。对书目管理、时间显示以及教师综合信息管理者三部分进行了整合,达到了对各个部分功能之间的调用。其中点击QQ也能很快的弹出QQ登陆界面。在主程序的单文档界面的菜单中,可以对所需功能进行选择,然后调用出不同的对话框实现所系的功能,达到设计程序通过菜单调用各部分功能的目的。【心得体会】在为期不到两周的课程设计中,我体会颇多,学到很多东西。我懂得了如何用MFC编写可视化界面的应用程序,我加强了对C++的认识,复习了自己以前的知识,自己的逻辑思考能力也提高不少。从而对MicrosoftVisualC++6.0又有了更深入的认识!在这次课程设计中,我还懂得了程序开发的一些比较重要的步骤,总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。最重要的还是激发了我编程的兴趣和热情,让我从理论变成了能做一些小型程序,让我对编程更加热爱了。整体地评价这次课程设计,我认为收获很大,正如上面所说的那样,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识;设计增强了我们用所学知识去解决具体问题的能力,进一步培养了我们独立思考问题和解决问题的能力。特别是学会了在VisualC++集成开发环境中如何调试程序的方法。当然,老师的悉心指导和同学的帮助也是不可忽视的,在此感谢本次课程设计中所有辅导老师对我的关心和帮助,诚心诚意感谢老师对我的鼓励与教导,是老师在我迷茫的时候给了我些许提示,激发了我编程的灵感;还有,我在此也十分感谢本次课程设计中同学们对我的帮助,尽管本次不是团队合作,但是他们也给了我不少的提示和帮助,我们相互沟通、共同进步。【参考文献】[1]杨长兴、刘卫国.《C++程序设计》.中国铁道出版社[2]刘卫国、杨长兴.《C++程序设计实践教程》.中国铁道出版社
本文标题:C++实践报告
链接地址:https://www.777doc.com/doc-4285596 .html