C++课设报告高校人员信息管理系统.docx

上传人:小飞机 文档编号:3153847 上传时间:2023-03-11 格式:DOCX 页数:73 大小:55.25KB
返回 下载 相关 举报
C++课设报告高校人员信息管理系统.docx_第1页
第1页 / 共73页
C++课设报告高校人员信息管理系统.docx_第2页
第2页 / 共73页
C++课设报告高校人员信息管理系统.docx_第3页
第3页 / 共73页
C++课设报告高校人员信息管理系统.docx_第4页
第4页 / 共73页
C++课设报告高校人员信息管理系统.docx_第5页
第5页 / 共73页
亲,该文档总共73页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C++课设报告高校人员信息管理系统.docx》由会员分享,可在线阅读,更多相关《C++课设报告高校人员信息管理系统.docx(73页珍藏版)》请在三一办公上搜索。

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

2、,能够很好的运行,达到预期的效果。 关键词:信息管理 系统设计 面向对象 北华航天工业学院课程设计报告 摘 要 . 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 结

3、构设计 . 5 321 系统流程图 . 5 322 界面设计 . 6 第四章 系统实现 . 7 41 类实现 . 7 42 函数实现 . 9 43 主函数实现 . 15 第五章 系统测试 . 16 51 模块测试 . 16 52 课程设计过程中遇到的问题 . 19 总 结 . 19 致 谢 . 20 参考文献 . 21 附 录 . 21 1 北华航天工业学院课程设计报告 第一章 绪论 11 课程设计的目的 课程设计是课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的了解与巩固,是将计算机课程与实际问题相连接的关键步骤。此次程序设计综合运用所学知识解决实际问题,将课堂的书本知识

4、有效的在程序中体现出来,让学生更理解了C+功能之强大,进一步让学生对面向对象的方法以及C+的编程思想有了较好了解和认识。 12 课程设计的背景和意义 121 课程设计的背景 本次课程设计,主要研究类的继承、抽象类、多态、虚基类以及对文件进行各项操作。通过这次课程设计掌握面向对象的程序设计思路,着重掌握在C+中对文件进行查找、删除、修改等操作。 1. 理论研究基础 C+面向对象程序设计中类与对象的使用 类的封装性和继承性。 C+ I/O流库的处理,二进制文件的创建与保存。 2. 技术层面的支持 定义基类与派生类,将数据成员与成员函数封装在类中。 定义指向对象的指针,设计删除、查询、更改的算法。

5、C+异常处理的功能与输入输出流。 122 课程设计的意义 通过课程设计的综合训练,培养了学生分析解决实际问题和编程等实际动手能力。帮助了同学系统的掌握C+课程的主要内容。 2 北华航天工业学院课程设计报告 通过详细的实例分析,循环渐进的描述,启发学生顺利的完成设计。课程设计将设计要求、需求分析、算法设计、编程和实例测试运行分开,为学生创造分析问题、独立思考的条件。 通过编写一个较长的程序,实现了对人员信息的管理,激发了学生学习编程的兴趣。 13 课程设计环境 在Microsoft Visual C+ 6.0开发平台上编写程序源代码,修改,增加功能,通过编译、连接,直到完全无误,最终执行程序,反

6、复输入新的数据进行验证并进一步完善。 第二章 需求分析 21 问题描述 某高校,主要人员有:领导、教师和学生,共有的信息包括:编号、姓名、性别、年龄。其中领导还应包含的信息有:任职部门、职称;教师还应包含的信息有:职称、任职时间、专业;学生还应包含的信息有:所在班级、所在宿舍等。 22 功能要求 对各类人员信息完成的基本功能有: 1) 添加功能:程序能够添加相应的记录; 2) 查询功能:能根据编号和姓名进行查询,并显示相应的记录信息; 3) 编辑功能:根据查询结果对相应的记录进行修改; 4) 统计功能:能根据多种参数进行人员的统计; 5)删除功能:根据查找结果,完成具体记录的删除; 6)保存功

7、能:将对高校人员信息进行的添加、删除、修改结果保存到文本文件中。 23 问题的解决方案 根据系统功能要求,可以将问题解决分为以下步骤: 3 北华航天工业学院课程设计报告 1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; 2)分析系统中的各个实体及它们之间的关系; 3)根据问题描述,设计系统的类层次; 4)完成类层次中各个类的描述; 5)完成类中各个成员函数的定义; 6)完成系统的应用模块; 7)功能调试; 8)完成系统总结报告。 第三章 系统设计 31 数据设计 311 类设计 人员有共同的信息编号number、姓名neme、性别sex、年龄age,所以设计一个基类people

8、,在此基础上派生出leader类,teacher类,student类。基类people中包含设置成员值的set函数,添加成员的add函数。在派生类leader,teacher,student中对set和add进行重新定义。为了对信息进行添加、删除、查找等功能,定义leaderbase,teacher,student类,分别定义对象数组,定义指向对象的指针,以leaderbase类为例,int top; 人数leader readMaxr;领导类数组;leaderbase将领导信息从leader.txt读取到read中,void delnu(int u)编号删除,void delname(cha

9、r*na)姓名删除,void clear删除所有,void disp 领导信息显示,void data领导维护,leaderbase 将read中的信息读入到leader.txt中。 312 类之间的关系 由people类派生出leader,teacher,student类,leaderbase类调用leader类,teacherbase类调用了teacher类,studentbase类调用了student类.。派生类对基类的成员进行继承。继承是面向对象程序设计中软件重用的关键技术。继承机制使用已经定义的类作为基础建立新的类定义,新的类是原有类的数据、操作和新类所添加的数据、操作的组合。新的类

10、把原有类作为基类引用,而不需要修改原有类的定义。 4 北华航天工业学院课程设计报告 313 函数设计 leaderbase将领导信息从leader.txt读取到read中,void delnu (int n)编号删除,void delname(char*na)姓名删除,void clear删除所有,void disp 领导信息显示,void data领导数据维护,实现领导信息的添加、删除、查询、显示、统计、更改功能。leaderbase 将read中的信息读如到leader.txt中。当删除和查找时调用两个函数leader *query(int n),leader *query1(char *

11、na),看删除或查找的领导是否存在,若存在,返回指向leader类的指针,若不存在,返回空指针。 32 结构设计 321 系统流程图 Main 函数 领导数据操作 教师数据操作 学生数据操作 void leaderbase:date void teacherbase:date void studentbase:base 5 北华航天工业学院课程设计报告 322 界面设计 登入高校管理系统界面如图3-2所示 图3-2界面菜单设计 程序开始运行,通过主函数进入系统主界面,操作员可键入数字信息选择系统的各个功能或退出系统。每种功能的界面都有相应的提示: 在添加信息功能中系统提示“请输入领导的性别为男

12、或女,如果输入错误,会输出“输入性别错误,请重新输入”在新增时系统会同时计算输入男女领导的人数;在更改中系统提供了按姓名或编号修改,在修改前系统会输出该领导的全部信息,修改时系统会输出是否更改;删除中系统提供了按编号或姓名删除,删除前系统会再次提醒使用者是否确定删除;在查找中亦提供了按编号或姓名查找;在输入完毕后按0返回主菜单。,以便操作员更方便地使用该系统 注:各子菜单项均有重新显示,并顺利返回到主菜单。如果要保存信息的数据,必须退出到主菜单,系统会自动保存; System(“cls”)清除以前的内容,界面重新显示。 System设置当前的窗口和输出字体的颜色 6 北华航天工业学院课程设计报

13、告 第四章 系统实现 1 类实现 class people/人员基类 protected: int number;/编号 char name20;/姓名 char sex4;/性别 int age;/年龄 public: void show cout编号setw(10)姓名setw(10)性别setw(10)年龄endl; coutnumbersetw(10)namesetw(10)sexsetw(10)ageendl; void set cout请输入编号:number; cout请输入姓名:name; cout请输入性别:sex; cout请输入年龄:age; char *getname

14、return name; /获取名字 int getno return number;/获取编号 int getage return age; /获取年龄 char* getsexreturn sex; /获取性别 void ren(int n) coutnendl; void add(int n,char *na,int ag,char *se) 7 4北华航天工业学院课程设计报告 number=n; age=ag; strcpy(name,na); strcpy(sex,se); ; class leader: public people/领导类 private: char bumen20

15、; 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; coutbumensetw(10)zhichengendl; 8 北华航天工业学院课程设计报告 ; void add1(int n,char *na,int ag,char *se,char *b

16、u,char *zhi) char *getbureturn bumen;/获取部门 char *getzhireturn zhicheng;/获取职称 add( n, na, ag, se); strcpy(bumen,bu); strcpy(zhicheng,zhi); 类似的,在people类的基础上派生出student类,teacher类。 42 函数实现 void leaderbase:data/定义领导维护 int choice=1; int b=1;/标记变量 int nan=0;/男领导 char x; int nv=0; /女领导 char name20; /姓名 int n

17、umber;/编号 int age;/年龄 char zhi20; /职称 char sex4;/性别 char bu20;/系部 leader *r; while (choice!=0) cout; cinchoice; switch (choice) 9 北华航天工业学院课程设计报告 case 1: /新增 system(color 17); /颜色 system(cls);/清屏 coutnumber; coutname; coutage; coutsex; if(strcmp(male,sex)!=0&strcmp(f,sex)!=0) while(b) cout输入性别有误,请重新输

18、入: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; 10 北华航天工业学院课程设计报告 cout 返回 0b; while(b) switch(b) case 1:

19、 coutnumber; r=query(number); if (r=NULL) cout该领导不存在show1; cout是否确认更改任职部门?x; if(x=Y|x=y) cout输入新的任职部门:bu; r-setbu(bu); add(number,name,age,sex,bu,zhi); cout是否确认更改职称?x; if(x=Y|x=y) cout请输入新的职称zhi; r-setzhi(zhi); add(number,name,age,sex,bu,zhi); r-show1; break; case 2: coutname; r=query1(name); 11 北华航

20、天工业学院课程设计报告 if (r=NULL) cout该领导不存在show1; cout是否确认更改任职部门?endl; if(x=Y|x=y) cout输入新的任职部门:bu; r-setbu(bu); add(number,name,age,sex,bu,zhi); cout是否确认更改职称?endl; if(x=Y|x=y) cout请输入新的职称zhi; r-setzhi(zhi); add(number,name,age,sex,bu,zhi); r-show1; break; case 3:break; break; break; case 3:/删除 system(color

21、f1); /颜色 同样是调用doc system(cls); cout 按编号删除 1endl; cout 按姓名删除 2endl; cout 返回 0b; while(b!=0) switch(b) case 1: coutx; 12 cinx; 北华航天工业学院课程设计报告 cinnumber; 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; b

22、reak; delname(name);b=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: 13 北华航天工业学院课程设计报告 coutname; r=query1(name)

23、; if (r=NULL) cout该领导不存在show1; break; case 3: 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)

24、 case 1: cout该高校男领导人数ren(nan); b=0; break; case 2: cout该高校女领导人数ren(nv); 14 北华航天工业学院课程设计报告 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; co

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号