《基于C++的面向对象程序设计实例》课程设计报告高校人员信息管理系统.doc
《《基于C++的面向对象程序设计实例》课程设计报告高校人员信息管理系统.doc》由会员分享,可在线阅读,更多相关《《基于C++的面向对象程序设计实例》课程设计报告高校人员信息管理系统.doc(46页珍藏版)》请在三一办公上搜索。
1、 北 华 航 天 工 业 学 院 基于 C+的面向对象程序设计实例 课程设计报告 报告题目:高校人员信息管理系统 作者所在系部:计算机科学与工程系 作者所在专业:计算机科学与技术专业 作者所在班级:作 者 姓 名:指导教师姓名:完 成 时 间:北华航天工业学院教务处制 北华航天工业学院课程设计报告 摘 要 当今教育事业备受关注,如何高效方便的对高校人员进行管理是一个问题。本文利用 C+面向对象的程序设计实现了这一功能。本系统主要有七个功能模块:新增、更改、删除、查找、显示、全删、统计,实现了对领导、教师、学生信息的管理。本程序已经过全面的系统测试,能够很好的运行,达到预期的效果。关键词:信息管
2、理 系统设计 面向对象 北华航天工业学院课程设计报告 1 摘 要.2 第一章 绪论.2 11 课程设计的目的.2 12 课程设计的背景和意义.2 121 课程设计的背景.2 1.理论研究基础.2 2.技术层面的支持.2 122 课程设计的意义.2 13 课程设计环境.3 第二章 需求分析.3 21 问题描述.3 22 功能要求.3 23 问题的解决方案.3 第三章 系统设计.4 31 数据设计.4 311 类设计.4 312 类之间的关系.4 313 函数设计.5 32 结构设计.5 321 系统流程图.5 322 界面设计.6 第四章 系统实现.7 41 类实现.7 42 函数实现.9 43
3、 主函数实现.15 第五章 系统测试.16 51 模块测试.16 52 课程设计过程中遇到的问题.19 总 结.19 致 谢.20 参考文献.21 附 录.21 北华航天工业学院课程设计报告 2 第一章 绪论 11 课程设计的目的 课程设计是课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的了解与巩固,是将计算机课程与实际问题相连接的关键步骤。此次程序设计综合运用所学知识解决实际问题,将课堂的书本知识有效的在程序中体现出来,让学生更理解了C+功能之强大,进一步让学生对面向对象的方法以及 C+的编程思想有了较好了解和认识。12 课程设计的背景和意义 121 课程设计的背景 本次
4、课程设计,主要研究类的继承、抽象类、多态、虚基类以及对文件进行各项操作(如添加、修改、删除、查询、显示等)。通过这次课程设计掌握面向对象的程序设计思路,着重掌握在 C+中对文件进行查找、删除、修改等操作。1.理论研究基础 (1)C+面向对象程序设计中类与对象的使用(2)类的封装性和继承性。(3)C+I/O 流库的处理,二进制文件的创建与保存。2.技术层面的支持(1)定义基类与派生类,将数据成员与成员函数封装在类中。(2)定义指向对象的指针,设计删除、查询、更改的算法。(3)C+异常处理的功能与输入输出流。122 课程设计的意义(1)通过课程设计的综合训练,培养了学生分析解决实际问题和编程等实际
5、动手能力。帮助了同学系统的掌握 C+课程的主要内容。北华航天工业学院课程设计报告 3(2)通过详细的实例分析,循环渐进的描述,启发学生顺利的完成设计。课程设计将设计要求、需求分析、算法设计、编程和实例测试运行分开,为学生创造分析问题、独立思考的条件。(3)通过编写一个较长的程序,实现了对人员信息的管理,激发了学生学习编程的兴趣。13 课程设计环境 在 Microsoft Visual C+6.0 开发平台上编写程序源代码,修改,增加功能,通过编译、连接,直到完全无误,最终执行程序,反复输入新的数据进行验证并进一步完善。第二章 需求分析 21 问题描述 某高校,主要人员有:领导、教师和学生,共有
6、的信息包括:编号、姓名、性别、年龄。其中领导还应包含的信息有:任职部门(学院、各系部)、职称;教师还应包含的信息有:职称、任职时间、专业;学生还应包含的信息有:所在班级、所在宿舍等。22 功能要求 对各类人员信息完成的基本功能有:1)添加功能:程序能够添加相应的记录;2)查询功能:能根据编号和姓名进行查询,并显示相应的记录信息;3)编辑功能:根据查询结果对相应的记录进行修改;4)统计功能:能根据多种参数进行人员的统计;5)删除功能:根据查找结果,完成具体记录的删除;6)保存功能:将对高校人员信息进行的添加、删除、修改结果保存到文本文件中。23 问题的解决方案 根据系统功能要求,可以将问题解决分
7、为以下步骤:北华航天工业学院课程设计报告 4 1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;2)分析系统中的各个实体及它们之间的关系;3)根据问题描述,设计系统的类层次;4)完成类层次中各个类的描述;5)完成类中各个成员函数的定义;6)完成系统的应用模块;7)功能调试;8)完成系统总结报告。第三章 系统设计 31 数据设计 311 类设计 人员有共同的信息编号 number、姓名 neme、性别 sex、年龄 age,所以设计一个基类people,在此基础上派生出 leader 类(添加数据成员任职部门 bumen,职称 zhicheng),teacher类(添加数据成员职称
8、 zhicheng,任职时间 time,专业 project),student 类(添加数据成员班级 banji,宿舍 sushe)。基类 people 中包含设置成员值的 set 函数,添加成员的 add 函数。在派生类 leader,teacher,student 中对 set 和 add 进行重新定义。为了对信息进行添加、删除、查找等功能,定义 leaderbase,teacher,student 类,分别定义对象数组,定义指向对象的指针,以 leaderbase 类为例,int top;人数 leader readMaxr;领导类数组;leaderbase()将领导信息从 leader
9、.txt 读取到 read中,void delnu(int u)编号删除,void delname(char*na)姓名删除,void clear()删除所有,void disp()领导信息显示,void data()领导维护,leaderbase()将 read中的信息读入到 leader.txt 中。312 类之间的关系 由 people 类派生出 leader,teacher,student 类,leaderbase 类调用 leader 类,teacherbase类调用了 teacher 类,studentbase 类调用了 student 类.。派生类对基类的成员进行继承。继承是面向
10、对象程序设计中软件重用的关键技术。继承机制使用已经定义的类作为基础建立新的类定义,新的类是原有类的数据、操作和新类所添加的数据、操作的组合。新的类把原有类作为基类引用,而不需要修改原有类的定义。北华航天工业学院课程设计报告 5 313 函数设计 leaderbase()将领导信息从 leader.txt 读取到 read中,void delnu(int n)编号删除,void delname(char*na)姓名删除,void clear()删除所有,void disp()领导信息显示,void data()领导数据维护,实现领导信息的添加、删除、查询、显示、统计、更改功能。leaderbas
11、e()将read中的信息读如到leader.txt中。当删除和查找时调用两个函数leader*query(int n),leader*query1(char*na),看删除或查找的领导是否存在,若存在,返回指向 leader 类的指针,若不存在,返回空指针。32 结构设计 321 系统流程图 Main 函数 领导数据操作 教师数据操作 学生数据操作 void leaderbase:date()void teacherbase:date()void studentbase:base()北华航天工业学院课程设计报告 6 322 界面设计 登入高校管理系统界面如图 3-2 所示 图 3-2 界面菜单
12、设计 程序开始运行,通过主函数进入系统主界面(如上图所示),操作员可键入数字信息选择系统的各个功能或退出系统。每种功能的界面都有相应的提示(以输入领导为例):在添加信息功能中系统提示“请输入领导的性别为男或女,如果输入错误,会输出“输入性别错误,请重新输入”在新增时系统会同时计算输入男女领导的人数;在更改中系统提供了按姓名或编号修改,在修改前系统会输出该领导的全部信息,修改时系统会输出是否更改;删除中系统提供了按编号或姓名删除,删除前系统会再次提醒使用者是否确定删除;在查找中亦提供了按编号或姓名查找;在输入完毕后按 0 返回主菜单。,以便操作员更方便地使用该系统 注:各子菜单项均有重新显示,并
13、顺利返回到主菜单。如果要保存信息的数据,必须退出到主菜单,系统会自动保存;System(“cls”)清除以前的内容,界面重新显示。System(“color 23”)设置当前的窗口和输出字体的颜色 北华航天工业学院课程设计报告 7 第四章 系统实现 41 类实现 class people/人员基类 protected:int number;/编号 char name20;/姓名 char sex4;/性别 int age;/年龄 public:void show()cout编号setw(10)姓名setw(10)性别setw(10)年龄endl;coutnumbersetw(10)namese
14、tw(10)sexsetw(10)ageendl;void set()cout请输入编号:number;cout请输入姓名:name;cout请输入性别:sex;cout请输入年龄:age;char*getname()return name;/获取名字 int getno()return number;/获取编号 int getage()return age;/获取年龄 char*getsex()return sex;/获取性别 void ren(int n)coutnendl;void add(int n,char*na,int ag,char*se)北华航天工业学院课程设计报告 8 num
15、ber=n;age=ag;strcpy(name,na);strcpy(sex,se);class leader:public people/领导类 private:char bumen20;char zhicheng20;public:void set1()set();cout请输入任职部门:bumen;cout请输入职称:zhicheng;void setbu(char bu)strcpy(bumen,bu);void setzhi(char zhi)strcpy(zhicheng,zhi);void show1()show();cout部门setw(10)职称endl;coutbumen
16、setw(10)zhichengendl;北华航天工业学院课程设计报告 9 void add1(int n,char*na,int ag,char*se,char*bu,char*zhi)add(n,na,ag,se);strcpy(bumen,bu);strcpy(zhicheng,zhi);char*getbu()return bumen;/获取部门 char*getzhi()return zhicheng;/获取职称;类似的,在 people 类的基础上派生出 student 类,teacher 类。42 函数实现 void leaderbase:data()/定义领导维护 int ch
17、oice=1;int b=1;/标记变量 char x;int nan=0;/男领导 int nv=0;/女领导 char name20;/姓名 int number;/编号 int age;/年龄 char zhi20;/职称 char sex4;/性别 char bu20;/系部 leader*r;while(choice!=0)cout;cinchoice;switch(choice)北华航天工业学院课程设计报告 10 case 1:/新增 system(color 17);/颜色 system(cls);/清屏 coutnumber;coutname;coutage;coutsex;i
18、f(strcmp(male,sex)!=0&strcmp(f,sex)!=0)while(b)cout输入性别有误,请重新输入:sex;if(strcmp(male,sex)=0|strcmp(f,sex)=0)b=0;if(strcmp(male,sex)=0)nan+;/统计男女领导的人数 else nv+;coutbu;coutzhi;add(number,name,age,sex,bu,zhi);break;case 2:/根据查询结果更改 system(color f4);/颜色 system(cls);cout 按编号更改 1endl;cout 按姓名更改 2endl;北华航天工业
19、学院课程设计报告 11 cout 返回 0b;while(b)switch(b)case 1:coutnumber;r=query(number);if(r=NULL)cout该领导不存在show1();cout是否确认更改任职部门?(Y/N)x;if(x=Y|x=y)cout输入新的任职部门:bu;r-setbu(bu);add(number,name,age,sex,bu,zhi);cout是否确认更改职称?(Y/N)x;if(x=Y|x=y)cout请输入新的职称zhi;r-setzhi(zhi);add(number,name,age,sex,bu,zhi);r-show1();bre
20、ak;case 2:coutname;r=query1(name);北华航天工业学院课程设计报告 12 if(r=NULL)cout该领导不存在show1();cout是否确 认更改任职部门?(Y/N)x;if(x=Y|x=y)cout输入新的任职部门:bu;r-setbu(bu);add(number,name,age,sex,bu,zhi);cout是否确认更改职称?(Y/N)x;if(x=Y|x=y)cout请输入新的职称zhi;r-setzhi(zhi);add(number,name,age,sex,bu,zhi);r-show1();break;case 3:break;break
21、;break;case 3:/删除 system(color f1);/颜色 同样是调用 doc system(cls);cout 按编号删除 1endl;cout 按姓名删除 2endl;cout 返回 0b;while(b!=0)switch(b)case 1:coutnumber;r=query(number);if(r=NULL)cout该领导不存在endl;break;delnu(number);b=0;break;case 2:cout输入领导姓名:name;r=query1(name);if(r=NULL)cout该领导不存在endl;break;delname(name);b=
22、0;break;case 3:break;break;break;case 4:/查找 system(color 07);/颜色 system(cls);cout 按编号查找 1endl;cout 按姓名查找 2endl;cout 返回 0b;while(b!=0)switch(b)case 1:coutnumber;r=query(number);if(r=NULL)cout该领导不存在show1();break;case 2:北华航天工业学院课程设计报告 14 coutname;r=query1(name);if(r=NULL)cout该领导不存在show1();break;case 3:
23、break;break;break;case 5:/显示信息 system(color fa);/颜色 system(cls);disp();break;case 6:system(color fd);/颜色 system(cls);clear();break;case 7:system(color 48);/颜色 system(cls);cout 统计男领导人数 1endl;cout 统计女领导人数 2endl;cout 返回 0b;while(b!=0)switch(b)case 1:cout该高校男领导人数ren(nan);b=0;break;case 2:cout该高校女领导人数ren
24、(nv);北华航天工业学院课程设计报告 15 b=0;break;case 3:break;break;类似的,定义 teacherbase 类与 studentbase 类的数据维护 data 函数,实现对人员信息的新增、更改、删除、查找、显示、全删、统计功能。43 主函数实现 int main()A:int choice=1;leaderbase l;teacherbase t;studentbase s;while(choice!=0)cout*endl;coutendl;coutendl;coutsetw(20)*欢迎使用高校人员管理系统*endl;coutendl;coutendl;
25、coutsetw(50)-n;coutsetw(50)请选择您所需的操作 n;coutsetw(50)n;coutsetw(50)操作 1,领导信息管理n;coutsetw(50)n;coutsetw(50)操作 2,教师信息管理 n;coutsetw(50)n;coutsetw(50)操作 3,学生信息管理 n;coutsetw(50)n;北华航天工业学院课程设计报告 16 coutsetw(50)操作 0,退出信息管理系统 n;coutsetw(50)choice;switch(choice)case 1:while(1)coutsetw(20);l.data();goto A;case
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于C+的面向对象程序设计实例 基于 C+ 面向 对象 程序设计 实例 课程设计 报告 高校 人员 信息管理 系统
链接地址:https://www.31ppt.com/p-2385153.html