c++面向对象程序设计论文_第1页
c++面向对象程序设计论文_第2页
c++面向对象程序设计论文_第3页
c++面向对象程序设计论文_第4页
c++面向对象程序设计论文_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-.z.------专业资料-大学课程设计任务书题目名称C++面向对象程序设计一、课程设计的内容利用面向对象的方法对业务进展系统分析,形成功能规格说明书;对各个功能模块分析设计抽象并实现对象类;所有数据用文件存储,并通过流类与程序交换;用户界面用基于MFC的设计,最后完成一个可运行的程序五人一个小组,选择一个题目,要求发挥团队合作精神,分工协助二、课程设计的要求与数据图书管理信息系统内容包括:分析整理整个管理信息系统的业务流程,形成功能规格说明书。包括的功能:图书资料;读者资料;借阅登记;归还登记;借阅查询等三、课程设计应完成的工作功能规格说明书〔流程〕分析设计说明书〔类〕界面设计代码实现说明〔选择〕分工协作说明〔具体说明每个人所做的工作〕可执行程序设计总结四、课程设计进程安排序号设计各阶段内容地点起止日期1集中学习教室2资料查阅与学习,讨论图书馆3系统分析设计宿舍,实验室4类的设计和实现宿舍,实验室5界面设计宿舍,实验室6系统实现与测试宿舍,实验室7设计总结宿舍8实验结果提交与验收实验室五、应收集的资料及主要参考文献1.书名:"C++语言和面向对象程序设计(第3版)"作者:郑莉董渊张瑞丰:清华大学出版社ISBN:2.书名:"VisualC++开发GIS系统---开发实例剖析"作者:陈建春:电子工业出版社ISBN:*发出任务书日期:2007年12月31日指导教师签名:方案完成日期:2007年1月10日基层教学单位责任人签章:主管院长签章:摘要:本系统使用VisualC++6.0开发工具,包含基于MFC的程序设计。学生信息管理系统是非常常见的信息管理系统,是学校办公中实现办公自动化的前提和根底。通过软件过程的各个环节进展系统分析、设计、实现、测试,并相应给出软件规格说明书等制品。本系统包含的功能有:学生资料、成绩登记、成绩查询、综合排名等。本系统成功地将面向对象的程序设计思想应用到数据库应用程序设计中。关键词:信息管理VisualC++编辑查询排名目录1.功能规格分析说明:1.1进入系统欢送界面---------------------------------------------------------61.功能规格说明:学生成绩管理是学校教学管理的核心之一,科学高效的管理好学生成绩是教育教学管理的重要工作。本系统围绕着这一工作,从实用出发,从教学一线入手,经反复修改,开发成了这个独具特色的教学管理助手。学生成绩管理系统共分3个模块:管理系统主模块、成绩录入模块和成绩查询模1.1进入系统欢送界面图1为本系统运行的欢送界面,我们可以通过输入工作号和密码来进入系统主界面,默认工作号为8888,密码为图1.1学生信息管理系统欢送界面图1.2输入正确工作号和密码后弹出对话框图1.3输入错误工作号或错误密码后弹出对话框图2为本系统主界面,我们可以通过界面上两个模块来选择不同的功能,左侧为查询学生信息,右侧为录入学生信息.图2管理系统主界面图3为录入信息的界面,我们可以输入该学生各方面的信息,单击保存后创立数据包,单击返回按键则回到主界面.图3.1录入信息界面图3.1单击保存按键后弹出对话框图4为查询信息界面,我们可以通过输入要查询学生的姓名和**来得到该学生的成绩。图4.1查询信息界面图4.2输入错误姓名或**后弹出对话框本系统通过设计默认的工作号及密码才能登陆使入,而这一功能的实现主要是通过在登陆界面中的两的编辑框分别定义了两个关联变量,int m_code;int m_number;来实现进入时需要输入工作号及密码的功能。而这一功能的实现又是通过登陆界面中的"确定〞键实现的。当按下"确定〞键时,该系统会执行以下一段代码:constintworknumber=8888; constintworkcode=; this->UpdateData(true); if((workcode==this->m_code)&(worknumber==this->m_number)) { MessageBo*(" 欢送进入学生信息管理系统!~~"); //TODO:Adde*travalidationhere chossen; n.DoModal(); }else { MessageBo*("输入不正确!!"); } this->UpdateData(false);}在上面一段代码中,将用户输入的工作号与密码分别存在intm_code;int m_number;并将其它程序中的constintworknumber=8888;constintworkcode=;〔默认工作号,不可改动〕进展比照。如果输入正确,则会给出(" 欢送进入学生信息管理系统!~~"的提示,并正入下一个界面,功能选择窗口〔CHOSSE〕,如果输入不正确,便会对用户给出"输入不正确!!"的提示。在这个函数中包括了以下几个头文件:#include"stdaf*.h"#include"wellcome.h"#include"wellcomeDlg.h"#include"chosse.h"在功能选择界面中,〔如图2所示〕,设计了"查询学生信息〞与"编辑学生信息〞两个功能。而这两个功能都是通过按两幅图片的形式来完成的。在这里我我们主要是在增加的Picture控件中的"属性〞,:"样式〞中选择了"通知〞这一选项,。使其具有按下列图片会选择的功能。其中进入"查询学生信息〞是通过以下一段代码实现的:voidchosse::OnStatic1(){this->DestroyWindow(); checkmessageoutn; n.DoModal(); MessageBo*("请输入所要查询学生的性名&**!!"); //TODO:Addyourcontrolnotificationhandlercodehere}每当用户进入此功能。系统就会在下一对话框跳出之前进展对用户的操作提示:"请输入所要查询学生的性名&**!!"需要说明的是当按下此图片时,系统是通过this->DestroyWindow();来关闭当前窗口,并通过***n;n.DoModal();来实现窗口的的跳动,以下不在陈术。而进入"编辑学生信息〞是通过以下一段简单的代码实现:voidchosse::OnStatic2(){this->DestroyWindow(); editmessagen; n.DoModal(); //TODO:Addyourcontrolnotificationhandlercodehere}此在,在这个别窗口中我们还设计了一个"退出〞按钮,其代码是:voidchosse::OnOK(){ //TODO:Adde*travalidationherethis->OnOK();}当用户按下此按扭,将会直接关闭整个学生信息管理系统。这个对话框中包括的头文件有#include"stdaf*.h"#include"wellcome.h"#include"chosse.h"#include"checkmessageout.h"#include"editmessage.h"在"学生信息编辑〞〔editmessage〕框中,我们设计了解包括学生姓名,**,高等代数,大学英语,以及C++语言程序设计三科的成绩,还有学生简介的保存框。〔请参考图3。1〕在这个对话框中,为了能够保存用用户所输入的信息,我们设计包括m_edit; float m_scorehight;float m_scoreenglish;float m_scorecpp;CString m_Nnumber;CString m_Nname在内的关联函数。对于数据的保存是在用户在按下"保存〞以后实现的这一功能的代码如下: structstuInfo stu; this->UpdateData(true); strcpy(stu.nname,m_Nname); strcpy(stu.nnumber,m_Nnumber); strcpy(stu.edit,m_edit); stu.score[0]=m_scorehight; stu.score[1]=m_scoreenglish; stu.score[2]=m_scorecpp; ofstreamos("data.t*t",ios::app); os.write((char*)&stu,sizeof(stu)); os.close(); MessageBo*("保存成功!");}在这里我们调用一个MFC的系统函数fstream以及我们在此之前写好的一个函数,其具体内容如下:structstuInfo{ charnname[20]; charnnumber[200]; floatscore[3]; charedit[20];};以及一个MFC的系统函数fstream通过这两个函数,我们将用户所要保存的信息保存到了一个被我们命名为"data.t*t〞的文件中。用户每保存组数据后,系统不用自己动更新,而是需要用户手机改变之前所输入的数据,输入完毕后,用户可以通过按"退出〞跳回chosse对话框。"退出〞所执行的代码如下:voideditmessage::OnOk2(){ this->DestroyWindow(); chossen; n.DoModal();}这个对话框中的函数所包括的头文件有:#include"stdaf*.h"#include"wellcome.h"#include"editmessage.h"#include"chosse.h"#include"fstream.h"#include"stu.h"通过按下"查询学生信息〞这一键。我们可以进入到一个名为"checkmessageout〞对话框。在这个对话框中我们为了能够显示用户所保存的信息,我们构造了 m_Nname=_T(""); m_Nnumber=_T(""); m_scorehight=; m_scoreenglish=; m_scorecpp=; m_rankhight=0; m_rankenglish=0; m_rankcpp=0; m_Edit=_T("");这些关联变量,对了到达,只有当用户输入正确的学生性名和**时系统才会调出学生的具体信息这一功能,我们在写代码时,写入一如此一和代码:if((sName==this->m_Nname)&(sNumber==this->m_Nnumber))当用户输入正确的性名及**,并按下"显示〞才能将用户所保存在"data.t*t〞中的内容调出来。这个按里面的代码是实现查询功能的关键具体代码如下:voidcheckmessageout::OnOK(){ intfindFlag=0; this->UpdateData(true); structstuInfostu;ifstreamis("data.t*t"); while(is.eof()==0) { is.read((char*)&stu,sizeof(stu)); CStringsName; sName.Format("%s",stu.nname); CString sNumber; sNumber.Format("%s",stu.nnumber); if((sName==this->m_Nname)&(sNumber==this->m_Nnumber)) {findFlag=1; break; } }is.close();if(findFlag==1){m_Nname=stu.nname; m_Nnumber=stu.nnumber;m_Edit=stu.edit;m_scorehight=stu.score[0]; m_scoreenglish=stu.score[1]; m_scorecpp=stu.score[2];}else{ this->MessageBo*("此数据不存在!"); m_Nname="";m_Nnumber="0";} this->UpdateData(false);}在这个代码中,我们通过while语句,来实现循环来断定要调出用户所输出的数据,当找到与之对应的数据时,就把他们的值相应的赋给对应的框,。最后显示在窗口;voidcheckmessageout::OnOk2(){this->DestroyWindow(); //TODO:Adde*travalidationhere// chossen; n.DoModal();}以上是"退出〞按扭所对应的代码。这个对话框中对应该需要的头文件包括:#include"stdaf*.h"#include"wellcome.h"#include"checkmessageout.h"#include"chosse.h"#include"stu.h"#include"fstream.h"3.1本系统优点:1.欢送界面及其它各界面都是是结合了PS2技术创作的,具有特色,并贴有我们06信安2班的班徽,总的来说就是将基于MFC的C++编程与PS2相结合,创立独具特色的软件。2.设计人性化,具有录入成绩与成绩查询的功能,使用简单,容易上手。由于对知识的掌握缺乏,很遗憾没能完全实现成绩排名的功能。时间飞梭,又是两个星期过去了,不过,在这两个星期内,我过得比拟充实,学到了不少东西,至少我在课堂学到的东西,终于可以用到实际了。我发现c++这门课程学懂了以后是非常有意思的,在弄系统,编程序的时候,当我们组每攻克一个问题的时候,我觉得特别有成就感,看着自己的作品,心里特别快乐。通过这次的C++课程设计,学会了将所学的C++知识运用在现实中,掌握了一些之前没有能掌握的知识,并更深刻的体会了之前已经掌握的之识。对C++中类的使用,进一步的了解。这次的课程设计,我们设计的主题是,将C++结合MFC初步的学会创立简单的系统——学生信息管理系统。同时通过,去图书管查找资料,参考书中的实例,网上查询与C++相关的视频。通过这一系列的学习,掌据了要制作一个系统所需的最根本的知识。比方,创立一个最根本的原始对话框,在对话框中添加各相对校简单的控件,如,按钮,编辑框,Pictrue控件,等一些比拟简单的控件。并能进展各窗口听跳转,以及,附上一些比拟根底的功能,比方保存数据,读取数据这两个重要的知识。当然,通过这次的课程设计除了增广了认识外,对一个软件的设计有了新的认识,同时认识到,能够用C++写出的程序,而一个软件设计中就并不是则的简单了。软件的设计并不是简单的程序的累加,他还要经过科学的规划。它也不是简单的写好就能了事的,其中我们还要不得不考虑到,它的唯护,修改,以及以后的加强。当然,如果能够做到,以最简的程序实现具有同样功能的才是最好的。这次设计中,除了应用了C++课本上的知识外,还引用了课外的知识,利用PhotoShop处理各个窗口的界面,使我们整个系统的界面别具一格,与众不同。众观整一个课程设计的过程,除了对一些具体知识能有新的认识外,同时也认识到了利用这些根底方法创立一个系统的重要性。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会效劳,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的缺乏之处,对一些前面学过的知识理解得不够深刻,掌握得不够结实。刚刚做好的C++课程设计,自己对于这个模拟软件开发的模式还是了解缺乏,但可以总结到以下几点:收获到的:1在做课程设计的过程中,自己也大量地翻阅了课本,这样不仅把之前的知识稳固了,还把之前很多没有弄懂的知识学会了,让我更好地掌握C++面向对象程序设计的根本特性。2在做课程设计的过程中,不仅眼用到课本,还要到图书馆借阅到其他相关的书籍,这样让我大大扩大自己的视野,让我更多地了解当前常用的软件开发工具〔VisualC++〕,更多熟练掌握基于MFC的程序设计,培养解决实际问题的能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论