1、北 华 航 天 工 业 学 院基于C+面向对象程序设计实例课程设计报告报 告 题 目 :高校人员信息管理系统 作者所在系部: 计算机科学与工程系 作者所在专业: 网络工程 作者所在班级: B08522班 作 者 姓 名 : 马洪彪 指引教师姓名: 赵辉 完 成 时 间 : 6月26日 北华航天工业学院教务处制课程设计任务书课题名称高校人员信息管理系统完毕时间第18周指引教师职称讲师学生姓名班 级 总体设计规定和技术要点某高校,重要人员有:领导、教师和学生,共有信息涉及:编号、姓名、性别、年龄。其中领导还应包括信息有:任职部门(学院、各系部)、职称;教师还应包括信息有:职称、任职时间、专业;学生
2、还应包括信息有:所在班级、所在宿舍等。规定:对各类人员信息完毕基本功能有:1) 添加功能:程序可以添加相应记录;2) 查询功能:能依照编号和姓名进行查询,并显示相应记录信息;3) 编辑功能:依照查询对相应记录进行修改;4) 记录功能:能依照各种参数进行人员记录(如在职人数、党员人数、女工人数等);5)删除功能:依照查找成果,完毕详细记录删除。6)保存功能:将对高校人员信息进行添加、删除、修改成果保存到文本文献中。学生在完毕本次课程设计基本规定后,进一步完善程序,从如下几种方面加以考虑:1) 添加人员记录时,考虑各种数据有效性。2)组合查询功能实现。3)编辑数据时,注意操作以便4)删除数据时,考
3、虑删除操作以便工作内容及时间进度安排16月2日13日:布置任务,软件设计26月15日26日:编写代码,上机调试36月25、26日:软件验收,撰写课程设计报告4各班在6月29日下午四点前将课程设计报告收齐并上交课程设计成果1课程设计报告2源程序代码摘 要在信息化教诲今天,高校要想实现教诲当代化,不但要又先进师资力量,同步也要有好软件系统。高校人员信息管理系统是一套完善信息化管理系统,用来实现高校人员统一以便信息操作,以实现高校人员流动及时更新、及时反馈校园信息、完善教诲质量、提高教诲效率、分析校园需求、制定招生和招聘管理目。本文运用Microsoft visual c+6.0提供OOP(噢把巨额
4、彩图噢日恩特等批rogrammin,OOP面向对象程序设计)编写程序,实现了校园内部人员信息添加,查询,编辑,记录,删除,载入,保存,加载等功能。本系统重要有四个类:基类、领导类、教师类以及学生类。已通过全面系统测试,可以较好运营,基本达到了预期效果。核心词:系统 类 信息管理目 录课程设计任务书摘 要第一章 绪论611 课程设计目612 课程设计背景和意义6121 课程设计背景6122 课程设计意义613 课程设计环境7第二章 需求分析721 问题描述722 功能规定723 问题解决方案8第三章 系统设计831 数据设计8311 类设计8312 类之间关系14313 函数设计1432 构造设
5、计15321 系统流程图15322 界面设计15第四章 系统实现1641 类实现16图4-1 类构造图1642 函数实现17421 高校人员信息添加功能实现17422 高校人员信息查询功能实现18423 高校人员信息编辑功能实现24424 高校人员信息记录功能实现26425 高校人员信息删除功能实现28426 高校人员信息保存功能实现30427 高校人员信息加载功能实现3243 主函数实现34第五章 系统测试3651 模块测试3652 课程设计过程中遇到问题40总 结41致 谢42参照文献43附 录44第一章 绪论11 课程设计目课程设计是课程教学必不可缺一种重要环节,可加深学生对该课程所学内
6、容进一步理解与巩固,是将计算机课程与实际问题相连接核心环节。通过课程设计,可以提高学生分析问题,解决问题,要能较好完毕课程设计,规定咱们必要掌握在学习中学到知识,因此要咱们对课本中学知识要熟悉且掌握,从而运用所学知识解决实际问题能力,因而必要予以足够注重。12 课程设计背景和意义121 课程设计背景1. 理论研究基本(1)C+语言基本知识和技能,如:类与对象,指针,输入/输出流,文本文献建立保存;(2)面向对象程序设计基本思路和办法。2. 技术层面支持(1)研究这些构造存储、显示,并有查找、添加、删除、修改、查询、记录、保存信息、载入等功能。(2)类定义、类对象、继承、抽象类、虚函数、虚基类、
7、多态和文献输入/输出等内容。122 课程设计意义(1)通过课程设计综合训练,培养了学生分析解决实际问题和编程等实际动手能力。协助了同窗系统掌握C+课程重要内容。(2)综合实际应用需求是课程设计既覆盖教学所规定知识点,有接近工程实际需求,训练自己实际分析问题和解决问题以及编程能力。做到理论结合实际。13 课程设计环境(1)在Microsoft Visual C+ 6.0开发平台上编写程序源代码,修改,增长功能,通过编译、连接,直到完全无误,最后执行程序,重复输入合理以及不合理数据进行测试并进一步完善。(2)硬件:学校机房(3)软件:Microsoft Visual C+ 6.0开发平台第二章 需
8、求分析21 问题描述某高校,重要人员有:领导、教师和学生,共有信息涉及:编号、姓名、性别、年龄。其中领导还应包括信息有:任职部门(学院、各系部)、职称;教师还应包括信息有:职称、任职时间、专业;学生还应包括信息有:所在班级、所在宿舍等。22 功能规定(1)对各类人员信息完毕基本功能有:1) 添加功能:程序可以添加相应记录;2) 查询功能:能依照编号和姓名进行查询,并显示相应记录信息;3) 编辑功能:依照查询成果对相应记录进行修改;4) 记录功能:能依照各种参数进行人员记录(如在职人数、党员人数、女工人数等);5)删除功能:依照查找成果,完毕详细记录删除。6)保存功能:将对高校人员信息进行添加、
9、删除、修改成果保存到文本文献中。7)载入功能:把文献中数据导入内存中,通过显示功能把载入数据显示在桌面上。(2)学生在完毕本次课程设计基本规定后,进一步完善程序,从如下几种方面加以考虑:1) 添加人员记录时,考虑各种数据有效性。2)组合查询功能实现。3)编辑数据时,注意操作以便。4)删除数据时,考虑删除操作以便。5)载入数据时,要考虑到操作简朴,快捷。23 问题解决方案依照系统功能规定,可以将问题解决分为如下环节: 1)应用系统分析,建立该系统功能模块框图以及界面组织和设计;2)分析系统中各个实体及它们之间关系; 3)依照问题描述,设计系统类层次; 4)完毕类层次中各个类描述; 5)完毕类中各
10、个成员函数定义; 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
11、 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
12、wrong,please input the information againendl;set_leader();coutage;coutdep;coutpost;void show_leader()coutnumbertnametsextagetdepartmenttpostendl;coutnumtnametsextagetdepttpostendl;void save_leader(ofstream &outf)outfnumbertnametsextagetdepartmenttpostendl;outfnumtnametsextagetdepttpostnumnamesexaged
13、eppost;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=
14、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()coutnumb
15、ertnametsextagetpostttimetspecialtyendl;coutnumtnametsextagetposttdaytspecendl;void save_teacher(ofstream &outf)outfnumbertnametsextagetpostttimetspecialtyendl;outfnumtnametsextagetposttdaytspecnumnamesexagepostdayspec;friend void TTongJi();private:string post;string day;string spec;tea20; *学生类:*cla
16、ss 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_stude
17、nt();/如果输入数字合法,则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
18、)outfnumbertnametsextagetclasstdormitoryendl;outfnumtnametsextagetclatdoornumnamesexagecladoor;friend void STongJi();private:string cla;string door;stu20;312 类之间关系基类为Person类。Leader类、Teacher类、Student类公用继承Person类313 函数设计void TianJia()*添加功能函数可以对人员信息进行添加,可以防止重复编号添加void ChaXun()*查询功能函数可按照编号或姓名进行人员信息查询voi
19、d 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 选取操作对象
20、时界面(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();br
21、eak;/添加领导信息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 T
22、TianJia()*对教师类对象添加功能函数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();
23、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 numb
24、er againendl;LChaXun_num();void LChaXun_nam()*按姓名查询领导类对象string na_s;coutplease input the name of leaderna_s;for(int j=0;jLcount;j+)if(ledj.name=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()*对领
25、导类对象查询功能函数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_
26、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(teaj.name=na_s)teaj.show_teacher();j=Tcount;if(j=Tcount)coutthe te
27、acher 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 againe
28、ndl;(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
29、name of studentna_s;for(int j=0;jScount;j+)if(stuj.name=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 againendl;423 高校人员信息编辑功能实现该功能用于对高校人员信息进行编辑,在查询到需要编辑人员后进行编辑(1)该函数分别调用(2)(3)(4)中函数,分别实现对领导、教师、学生信息编辑void BianJi()*编辑功能函数int i=1;while(i)int choice;Menu();
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100