(论文)高校人员信息管理系统_课程设计报告书最新优秀毕业论文资料搜集呕血奉献_第1页
(论文)高校人员信息管理系统_课程设计报告书最新优秀毕业论文资料搜集呕血奉献_第2页
(论文)高校人员信息管理系统_课程设计报告书最新优秀毕业论文资料搜集呕血奉献_第3页
(论文)高校人员信息管理系统_课程设计报告书最新优秀毕业论文资料搜集呕血奉献_第4页
(论文)高校人员信息管理系统_课程设计报告书最新优秀毕业论文资料搜集呕血奉献_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

北华航天工业学院课程设计报告北 华 航 天 工 业 学 院基于C+的面向对象程序设计实例课程设计报告报 告 题 目 :高校人员信息管理系统 作者所在系部: 计算机科学与工程系 作者所在专业: 网络工程 作者所在班级: B08522班 作 者 姓 名 : 马洪彪 指导教师姓名: 赵辉 完 成 时 间 : 2008年6月26日 北华航天工业学院教务处制课程设计任务书课题名称高校人员信息管理系统完成时间第18周指导教师职称讲师学生姓名班 级 总体设计要求和技术要点某高校,主要人员有:领导、教师和学生,共有的信息包括:编号、姓名、性别、年龄。其中领导还应包含的信息有:任职部门(学院、各系部)、职称;教师还应包含的信息有:职称、任职时间、专业;学生还应包含的信息有:所在班级、所在宿舍等。要求:对各类人员信息完成的基本功能有:1) 添加功能:程序能够添加相应的记录;2) 查询功能:能根据编号和姓名进行查询,并显示相应的记录信息;3) 编辑功能:根据查询对相应的记录进行修改;4) 统计功能:能根据多种参数进行人员的统计(如在职人数、党员人数、女工人数等);5)删除功能:根据查找结果,完成具体记录的删除。6)保存功能:将对高校人员信息进行的添加、删除、修改结果保存到文本文件中。学生在完成本次课程设计的基本要求后,进一步完善程序,从如下几个方面加以考虑:1) 添加人员记录时,考虑各种数据的有效性。2)组合查询功能的实现。3)编辑数据时,注意操作的方便4)删除数据时,考虑删除操作的方便工作内容及时间进度安排16月2日13日:布置任务,软件设计26月15日26日:编写代码,上机调试36月25、26日:软件验收,撰写课程设计报告4各班在6月29日下午四点前将课程设计报告收齐并上交课程设计成果1课程设计报告2源程序代码摘 要在信息化教育的今天,高校要想实现教育的现代化,不但要又优秀的师资力量,同时也要有好的软件系统。高校人员信息管理系统是一套完善的信息化管理系统,用来实现高校人员的统一方便的信息操作,以实现高校人员流动及时更新、及时反馈校园信息、完善教育质量、提高教育效率、分析校园需求、制定招生和招聘的管理目的。本文利用Microsoft visual c+6.0提供的OOP(噢把巨额彩图噢日恩特等批rogrammin,OOP面向对象的程序设计)的编写程序,实现了校园内部人员的信息添加,查询,编辑,统计,删除,载入,保存,加载等功能。本系统主要有四个类:基类、领导类、教师类以及学生类。已经过全面的系统测试,能够很好的运行,基本达到了预期的效果。关键词:系统 类 信息管理目 录课程设计任务书摘 要第一章 绪论611 课程设计的目的612 课程设计的背景和意义6121 课程设计的背景6122 课程设计的意义613 课程设计环境7第二章 需求分析721 问题描述722 功能要求723 问题的解决方案8第三章 系统设计831 数据设计8311 类设计8312 类之间的关系14313 函数设计1432 结构设计15321 系统流程图15322 界面设计15第四章 系统实现1641 类实现16图4-1 类结构图1642 函数实现17421 高校人员信息的添加功能的实现17422 高校人员信息的查询功能的实现18423 高校人员信息的编辑功能的实现24424 高校人员信息的统计功能的实现26425 高校人员信息的删除功能的实现28426 高校人员信息的保存功能的实现30427 高校人员信息的加载功能的实现3243 主函数实现34第五章 系统测试3651 模块测试3652 课程设计过程中遇到的问题40总 结41致 谢42参考文献43附 录4465第一章 绪论11 课程设计的目的课程设计是课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的了解与巩固,是将计算机课程与实际问题相连接的关键步骤。通过课程设计,能够提高学生的分析问题,解决问题,要能很好的完成课程设计,要求我们必须掌握在学习中学到的知识,所以要我们对课本中学的知识要熟悉且掌握,从而运用所学知识解决实际问题的能力,因而必须给予足够的重视。12 课程设计的背景和意义121 课程设计的背景1. 理论研究基础(1)C+语言的基本知识和技能,如:类与对象,指针,输入/输出流,文本文件的建立保存;(2)面向对象程序设计的基本思路和方法。2. 技术层面的支持(1)研究这些结构的存储、显示,并有查找、添加、删除、修改、查询、统计、保存信息、载入等功能。(2)类定义、类对象、继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。122 课程设计的意义(1)通过课程设计的综合训练,培养了学生分析解决实际问题和编程等实际动手能力。帮助了同学系统的掌握C+课程的主要内容。(2)综合实际应用的需求是课程设计既覆盖教学所要求的知识点,有接近工程的实际需求,训练自己实际分析问题和解决问题以及编程的能力。做到理论结合实际。13 课程设计环境(1)在Microsoft Visual C+ 6.0开发平台上编写程序源代码,修改,增加功能,通过编译、连接,直到完全无误,最终执行程序,反复输入合理的以及不合理的数据进行测试并进一步完善。(2)硬件:学校机房(3)软件:Microsoft Visual C+ 6.0开发平台第二章 需求分析21 问题描述某高校,主要人员有:领导、教师和学生,共有的信息包括:编号、姓名、性别、年龄。其中领导还应包含的信息有:任职部门(学院、各系部)、职称;教师还应包含的信息有:职称、任职时间、专业;学生还应包含的信息有:所在班级、所在宿舍等。22 功能要求(1)对各类人员信息完成的基本功能有:1) 添加功能:程序能够添加相应的记录;2) 查询功能:能根据编号和姓名进行查询,并显示相应的记录信息;3) 编辑功能:根据查询结果对相应的记录进行修改;4) 统计功能:能根据多种参数进行人员的统计(如在职人数、党员人数、女工人数等);5)删除功能:根据查找结果,完成具体记录的删除。6)保存功能:将对高校人员信息进行的添加、删除、修改结果保存到文本文件中。7)载入功能:把文件中的数据导入内存中,通过显示功能把载入的数据显示在桌面上。(2)学生在完成本次课程设计的基本要求后,进一步完善程序,从如下几个方面加以考虑:1) 添加人员记录时,考虑各种数据的有效性。2)组合查询功能的实现。3)编辑数据时,注意操作的方便。4)删除数据时,考虑删除操作的方便。5)载入数据时,要考虑到操作简单,快捷。23 问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤: 1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;2)分析系统中的各个实体及它们之间的关系; 3)根据问题描述,设计系统的类层次; 4)完成类层次中各个类的描述; 5)完成类中各个成员函数的定义; 6)完成系统的应用模块; 7)功能调试; 8)完成系统总结报告。第三章 系统设计31 数据设计311 类设计*基类:*class Person/定义基类Personpublic:Person(int n,string nam,char s,int a):num(n),name(nam),sex(s),age(a)int num;string name;protected:char sex;int age;*领导类:*class Leader:public Person/由基类派生出Leader(领导)类public:Leader(int n=0,string nam=,char s=m,int a=0,string d=,string p=):Person(n,nam,s,a),dep(d),post(p)void set_leader()coutnum;for(int k=1;k21;k+)if(num=k)k=21;if(k=21)coutthe number you putin is wrong,please input the information againendl;set_leader();/如果输入数字合法,则k=22;否则,k=21coutname;coutsex;if(sex!=m&sex!=f)coutthe sex you putin is wrong,please input the information againendl;set_leader();coutage;coutdep;coutpost;void show_leader()coutnumbertnametsextagetdepartmenttpostendl;coutnumtnametsextagetdepttpostendl;void save_leader(ofstream &outf)outfnumbertnametsextagetdepartmenttpostendl;outfnumtnametsextagetdepttpostnumnamesexagedeppost;friend void LTongJi();private:string dep;string post;led20;* 教师类:*class Teacher:public Person/由基类派生出Teacher(老师)类public:Teacher(int n=0,string nam=,char s=m,int a=0,string p=,string d=,string sp=):Person(n,nam,s,a),post(p),day(d),spec(sp)void set_teacher()coutnum;for(int k=1;k21;k+)if(num=k)k=21;if(k=21)coutthe number you putin is wrong,please input the information againendl;set_teacher();/如果输入数字合法,则k=22;否则,k=21coutname;coutsex;if(sex!=m&sex!=f)coutthe sex you putin is wrong,please input the information againendl;set_teacher();coutage;coutpost;coutday;coutspec;void show_teacher()coutnumbertnametsextagetpostttimetspecialtyendl;coutnumtnametsextagetposttdaytspecendl;void save_teacher(ofstream &outf)outfnumbertnametsextagetpostttimetspecialtyendl;outfnumtnametsextagetposttdaytspecnumnamesexagepostdayspec;friend void TTongJi();private:string post;string day;string spec;tea20; *学生类:*class Student:public Person/定义由Person类派生出的Student类public:Student(int n=0,string nam=,char s=m,int a=0,string c=,string d=):Person(n,nam,s,a),cla(c),door(d)void set_student()coutnum;for(int k=1;k21;k+)if(num=k)k=21;if(k=21)coutthe number you putin is wrong,please input the information againendl;set_student();/如果输入数字合法,则k=22;否则,k=21coutname;coutsex;if(sex!=m&sex!=f)coutthe sex you putin is wrong,please input the information againendl;set_student();coutage;coutcla;coutdoor;void show_student()coutnumbertnametsextagetclasstdormitoryendl;coutnumtnametsextagetclatdoorendl;void save_student(ofstream &outf)outfnumbertnametsextagetclasstdormitoryendl;outfnumtnametsextagetclatdoornumnamesexagecladoor;friend void STongJi();private:string cla;string door;stu20;312 类之间的关系基类为Person类。Leader类、Teacher类、Student类公用继承Person类313 函数设计void TianJia()*添加功能函数可以对人员的信息进行添加,能够防止重复编号的添加void ChaXun()*查询功能函数可按照编号或姓名进行人员信息的查询void BianJi()*编辑功能函数可对人员的信息进行修改void TongJi()*统计功能函数可统计人员的相关信息void ShanChu()*删除功能函数查询到需要删除的人员后,执行删除命令,可将其删除void BaoCun()*保存功能函数将人员信息保存在文本文档中void JiaZai()*加载功能函数将人员信息由文本文档加载到内存中int main()*主函数调用各个功能函数以及菜单函数32 结构设计321 系统流程图图3-1 系统流程图322 界面设计(1)进入程序界面图3-2 进入程序的欢迎界面(2)选择操作方式界面图3-3 选择操作方式时的界面(3)选择操作对象界面图3-4 选择操作对象时的界面(4)退出程序界面图3-5 退出程序时的界面第四章 系统实现41 类实现定义基类Person类,然后由基类派生出Leader(领导)类、Teacher(教师)类、Student(学生)类。在各类中定义相关成员函数和数据成员图4-1 类结构图42 函数实现421 高校人员信息的添加功能的实现该功能用于对高校人员信息进行添加(1)该函数分别调用(2)(3)(4)中的函数,分别实现对领导、教师、学生信息的添加void TianJia()*添加功能函数int i=1;while(i)int choice;Menu();cinchoice;switch(choice)case 1:LTianJia();break;/添加领导信息case 2:TTianJia();break;/添加教师信息case 3:STianJia();break;/添加学生信息case 4:i=0;break;default:couterror,please input it again!endl;(2)对领导信息的添加void LTianJia()*对领导类对象的添加功能函数ledLcount.set_leader();/调用领导类成员函数添加信息coutsucceed in addingendl;ledLcount.show_leader();/调用领导类成员函数显示添加的信息Lcount+;(3)对教师信息的添加void TTianJia()*对教师类对象的添加功能函数teaLcount.set_teacher();/调用教师类成员函数添加信息coutsucceed in addingendl;teaLcount.show_teacher();/调用教师类成员函数显示添加的信息Tcount+;(4)对学生信息的添加void STianJia()*对学生类对象的添加功能函数stuLcount.set_student();/调用学生类成员函数添加信息coutsucceed in addingchoice;switch(choice)case 1:LChaXun();break;/查询领导信息case 2:TChaXun();break;/查询教师信息case 3:SChaXun();break;/查询学生信息case 4:i=0;break;default:couterror,please input it again!endl;(2)对领导信息的查询void LChaXun_num()*按编号查询领导类对象int n;coutn;for(int i=0;iLcount;i+)if(ledi.num=n)ledi.show_leader();i=Lcount;if(i=Lcount)coutthe leader you want to search isnt sxist,please intput the number againendl;LChaXun_num();void LChaXun_nam()*按姓名查询领导类对象string na_s;coutplease input the name of leaderna_s;for(int j=0;jLcount;j+)if(=na_s)ledj.show_leader();j=Lcount;if(j=Lcount)coutthe leader you want to search isnt sxist,please intput the number againendl;LChaXun_nam();void LChaXun()*对领导类对象的查询功能函数int w;coutplease choice the way to searchendl;coutbased on number:1tbased on name:2w;switch(w)case 1:LChaXun_num();break;case 2:LChaXun_nam();break;default:couterror,please input it againendl;(3)对教师信息的查询void TChaXun_num()*按编号查询教师类对象int n;coutn;for(int i=0;iTcount;i+)if(teai.num=n)teai.show_teacher();i=Tcount;if(i=Tcount)coutthe teacher you want to search isnt sxist,please intput the number againendl;TChaXun_num();void TChaXun_nam()*按姓名查询教师类对象string na_s;coutplease input the name of teacherna_s;for(int j=0;jTcount;j+)if(=na_s)teaj.show_teacher();j=Tcount;if(j=Tcount)coutthe teacher you want to search isnt sxist,please intput the number againendl;TChaXun_nam();void TChaXun()*对教师类对象的查询功能函数int w;coutplease choice the way to searchendl;coutbased on number:1tbased on name:2w;switch(w)case 1:TChaXun_num();break;case 2:TChaXun_nam();break;default:couterror,please input it againendl;(4)对学生信息的查询void SChaXun_num()*按编号查询学生类对象int n;coutn;for(int i=0;iScount;i+)if(stui.num=n)stui.show_student();i=Scount;if(i=Scount)coutthe student you want to search isnt sxist,please intput the number of leader againendl;SChaXun_num();void SChaXun_nam()*按姓名查询学生类对象string na_s;coutplease input the name of studentna_s;for(int j=0;jScount;j+)if(=na_s)stuj.show_student();j=Scount;if(j=Scount)coutthe student you want to search isnt sxist,please intput the number againendl;SChaXun_nam();void SChaXun()*对学生类对象的查询功能函数int w;coutplease choice the way to searchendl;coutbased on number:1tbased on name:2w;switch(w)case 1:SChaXun_num();break;case 2:SChaXun_nam();break;default:couterror,please input it againchoice;switch(choice)case 1:LBianJi();break;/编辑领导信息case 2:TBianJi();break;/编辑教师信息case 3:SBianJi();break;/编辑学生信息case 4:i=0;break;default:couterror,please input it again!endl;(2)对领导信息的编辑void LBianJi()*对领导类对象的编辑功能函数int n;coutn;for(int i=0;iLcount;i+)if(ledi.num=n)coutthe original information is:endl;ledi.show_leader();coutplease input the new informationendl;ledi.set_leader();coutthe new information is:endl;ledi.show_leader();(3)对教师信息的编辑void TBianJi()*对教师类对象的编辑功能函数int n;coutn;for(int i=0;iTcount;i+)if(teai.num=n)coutthe original information is:endl;teai.show_teacher();coutplease input the new informationendl;teai.set_teacher();coutthe new information is:endl;teai.show_teacher();(4)对学生信息的编辑void SBianJi()*对学生类对象的编辑功能函数int n;coutn;for(int i=0;iTcount;i+)if(stui.num=n)coutthe original information is:endl;stui.show_student();coutplease input the new informationendl;stui.set_student();coutthe new information is:choice;switch(choice)case 1:LTongJi();break;/统计领导信息case 2:TTongJi();break;/统计教师信息case 3:STongJi();break;/统计学生信息case 4:i=0;break;default:couterror,please input it again!endl;(2)对领导信息的统计void LTongJi()*对领导类对象的统计功能函数int j;coutthe totle number of leaders:Lcountendl;for(int i=0;iLcount;i+)if(ledi.sex=m)j+;coutthe number of male leader is:jendl;coutthe number of female leader is:Lcount-jendl;(3)对教师信息的统计void TTongJi()*对教师类对象的统计功能函数int j;coutthe totle number of teachers:Tcountendl;for(int i=0;iTcount;i+)if(teai.sex=m)j+;coutthe number of male teacher is:jendl;coutthe number of female teache

温馨提示

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

评论

0/150

提交评论