《基于C++的面向对象程序设计实例》课程设计报告高校人员信息管理系统

上传人:壹****1 文档编号:494591998 上传时间:2022-10-14 格式:DOC 页数:47 大小:397.56KB
返回 下载 相关 举报
《基于C++的面向对象程序设计实例》课程设计报告高校人员信息管理系统_第1页
第1页 / 共47页
《基于C++的面向对象程序设计实例》课程设计报告高校人员信息管理系统_第2页
第2页 / 共47页
《基于C++的面向对象程序设计实例》课程设计报告高校人员信息管理系统_第3页
第3页 / 共47页
《基于C++的面向对象程序设计实例》课程设计报告高校人员信息管理系统_第4页
第4页 / 共47页
《基于C++的面向对象程序设计实例》课程设计报告高校人员信息管理系统_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《《基于C++的面向对象程序设计实例》课程设计报告高校人员信息管理系统》由会员分享,可在线阅读,更多相关《《基于C++的面向对象程序设计实例》课程设计报告高校人员信息管理系统(47页珍藏版)》请在金锄头文库上搜索。

1、北华航天工业学院课程设计报告北 华 航 天 工 业 学 院基于C+的面向对象程序设计实例课程设计报告报告题目: 高校人员信息管理系统 作者所在系部: 计算机科学与工程系 作者所在专业: 计算机科学与技术专业 作者所在班级: 作 者 姓 名 : 指导教师姓名: 完 成 时 间 : 北华航天工业学院教务处制摘 要当今教育事业备受关注,如何高效方便的对高校人员进行管理是一个问题。本文利用C+面向对象的程序设计实现了这一功能。本系统主要有七个功能模块:新增、更改、删除、查找、显示、全删、统计,实现了对领导、教师、学生信息的管理。本程序已经过全面的系统测试,能够很好的运行,达到预期的效果。关键词:信息管

2、理 系统设计 面向对象摘 要2第一章 绪论211 课程设计的目的212 课程设计的背景和意义2121 课程设计的背景21. 理论研究基础22. 技术层面的支持2122 课程设计的意义213 课程设计环境3第二章 需求分析321 问题描述322 功能要求323 问题的解决方案3第三章 系统设计431 数据设计4311 类设计4312 类之间的关系4313 函数设计532 结构设计5321 系统流程图5322 界面设计6第四章 系统实现741 类实现742 函数实现943 主函数实现15第五章 系统测试1651 模块测试1652 课程设计过程中遇到的问题19总 结19致 谢20参考文献20附 录2

3、1第一章 绪论11 课程设计的目的 课程设计是课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的了解与巩固,是将计算机课程与实际问题相连接的关键步骤。此次程序设计综合运用所学知识解决实际问题,将课堂的书本知识有效的在程序中体现出来,让学生更理解了C+功能之强大,进一步让学生对面向对象的方法以及C+的编程思想有了较好了解和认识。12 课程设计的背景和意义121 课程设计的背景本次课程设计,主要研究类的继承、抽象类、多态、虚基类以及对文件进行各项操作(如添加、修改、删除、查询、显示等)。通过这次课程设计掌握面向对象的程序设计思路,着重掌握在C+中对文件进行查找、删除、修改等操作。

4、1. 理论研究基础(1)C+面向对象程序设计中类与对象的使用(2)类的封装性和继承性。(3)C+ I/O流库的处理,二进制文件的创建与保存。2. 技术层面的支持(1)定义基类与派生类,将数据成员与成员函数封装在类中。(2)定义指向对象的指针,设计删除、查询、更改的算法。(3)C+异常处理的功能与输入输出流。122 课程设计的意义(1)通过课程设计的综合训练,培养了学生分析解决实际问题和编程等实际动手能力。帮助了同学系统的掌握C+课程的主要内容。(2)通过详细的实例分析,循环渐进的描述,启发学生顺利的完成设计。课程设计将设计要求、需求分析、算法设计、编程和实例测试运行分开,为学生创造分析问题、独

5、立思考的条件。(3)通过编写一个较长的程序,实现了对人员信息的管理,激发了学生学习编程的兴趣。13 课程设计环境在Microsoft Visual C+ 6.0开发平台上编写程序源代码,修改,增加功能,通过编译、连接,直到完全无误,最终执行程序,反复输入新的数据进行验证并进一步完善。第二章 需求分析21 问题描述某高校,主要人员有:领导、教师和学生,共有的信息包括:编号、姓名、性别、年龄。其中领导还应包含的信息有:任职部门(学院、各系部)、职称;教师还应包含的信息有:职称、任职时间、专业;学生还应包含的信息有:所在班级、所在宿舍等。22 功能要求对各类人员信息完成的基本功能有:1) 添加功能:

6、程序能够添加相应的记录;2) 查询功能:能根据编号和姓名进行查询,并显示相应的记录信息;3) 编辑功能:根据查询结果对相应的记录进行修改;4) 统计功能:能根据多种参数进行人员的统计;5)删除功能:根据查找结果,完成具体记录的删除;6)保存功能:将对高校人员信息进行的添加、删除、修改结果保存到文本文件中。23 问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤: 1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;2)分析系统中的各个实体及它们之间的关系; 3)根据问题描述,设计系统的类层次; 4)完成类层次中各个类的描述; 5)完成类中各个成员函数的定义; 6)完成系统的

7、应用模块; 7)功能调试; 8)完成系统总结报告。第三章 系统设计31 数据设计311 类设计人员有共同的信息编号number、姓名neme、性别sex、年龄age,所以设计一个基类people,在此基础上派生出leader类(添加数据成员任职部门bumen,职称zhicheng),teacher类(添加数据成员职称zhicheng,任职时间time,专业project),student类(添加数据成员班级banji,宿舍sushe)。基类people中包含设置成员值的set函数,添加成员的add函数。在派生类leader,teacher,student中对set和add进行重新定义。为了对信

8、息进行添加、删除、查找等功能,定义leaderbase,teacher,student类,分别定义对象数组,定义指向对象的指针,以leaderbase类为例,int top; 人数leader readMaxr;领导类数组;leaderbase()将领导信息从leader.txt读取到read中,void delnu(int u)编号删除,void delname(char*na)姓名删除,void clear()删除所有,void disp() 领导信息显示,void data()领导维护,leaderbase() 将read中的信息读入到leader.txt中。312 类之间的关系由peo

9、ple类派生出leader,teacher,student类,leaderbase类调用leader类,teacherbase类调用了teacher类,studentbase类调用了student类.。派生类对基类的成员进行继承。继承是面向对象程序设计中软件重用的关键技术。继承机制使用已经定义的类作为基础建立新的类定义,新的类是原有类的数据、操作和新类所添加的数据、操作的组合。新的类把原有类作为基类引用,而不需要修改原有类的定义。313 函数设计leaderbase()将领导信息从leader.txt读取到read中,void delnu (int n)编号删除,void delname(ch

10、ar*na)姓名删除,void clear()删除所有,void disp() 领导信息显示,void data()领导数据维护,实现领导信息的添加、删除、查询、显示、统计、更改功能。leaderbase() 将read中的信息读如到leader.txt中。当删除和查找时调用两个函数leader *query(int n),leader *query1(char *na),看删除或查找的领导是否存在,若存在,返回指向leader类的指针,若不存在,返回空指针。 32 结构设计321 系统流程图Main 函数领导数据操作教师数据操作学生数据操作void leaderbase:date()void

11、 teacherbase:date()void studentbase:base()322 界面设计登入高校管理系统界面如图3-2所示图3-2界面菜单设计程序开始运行,通过主函数进入系统主界面(如上图所示),操作员可键入数字信息选择系统的各个功能或退出系统。每种功能的界面都有相应的提示(以输入领导为例):在添加信息功能中系统提示“请输入领导的性别为男或女,如果输入错误,会输出“输入性别错误,请重新输入”在新增时系统会同时计算输入男女领导的人数;在更改中系统提供了按姓名或编号修改,在修改前系统会输出该领导的全部信息,修改时系统会输出是否更改;删除中系统提供了按编号或姓名删除,删除前系统会再次提醒

12、使用者是否确定删除;在查找中亦提供了按编号或姓名查找;在输入完毕后按0返回主菜单。,以便操作员更方便地使用该系统注:各子菜单项均有重新显示,并顺利返回到主菜单。如果要保存信息的数据,必须退出到主菜单,系统会自动保存;System(“cls”)清除以前的内容,界面重新显示。System(“color 23”)设置当前的窗口和输出字体的颜色第四章 系统实现41 类实现class people/人员基类protected:int number;/编号char name20;/姓名char sex4;/性别int age;/年龄public:void show()cout编号setw(10)姓名set

13、w(10)性别setw(10)年龄endl;coutnumbersetw(10)namesetw(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)number=n;age=ag;strcpy(name,na);strcpy(sex,se);class leader: public people/领导类private:char bumen20;char zhicheng20;public:void set1()set();cout

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号