ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:133.48KB ,
资源ID:1761711      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1761711.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++课程设计学校人员信息管理系统报告.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

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

1、C+课程设计学校人员信息管理系统报告C+课程设计报告 课程设计题目: 学校人员信息管理系统 第一部分1.目的及要求目的:要求学生达到熟练掌握C+语言的基本知识和技能,基本掌握面向对象程序设计的基本思路和方法,并且能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题.要求:利用面向对象的方法以及C+的编程思想来完成系统的设计; 要求在设计的过程中,建立清晰的类层次; 在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法;在系统的设计中,要求运用面向对象的机制(继承、派生及多态性)来实现系统功能. 2.设计题目描述 用c+设计一个大学教师和学生管理程序,教师包括编号(a),姓名(c

2、),职称(d)和教研室数据(b)的数据输入输出; 大学生包括编号(m),姓名( s),性别(t),班号(n),英语(e),高等数学(f)和数据结构(g)三门课程成绩输入输出和计算机平均分(ave);研究生包括编号,姓名,性别,班号,指导教师和研究方法数据输入输出; 博士后数据的输入输出;博士后既是教师也是研究生.(用派生,继承的方法可以做)3.解决方案及设计思路根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2)分析系统中的各个实体及它们之间的关系包括属性和行为; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各

3、个类的描述(包括属性和方法); (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试; 4.系统分析与设计(1)系统功能模块图:图4-1 系统功能模块图1) 信息录入功能模块:信息录入模块是简单成绩管理系统首先要执行的一个基本模块.该模块的功能即教师、大学生、研究生、博士后的各项数据的输入,只有当数据存入才能进行其他的功能.教师包括:编号,姓名,职称和教研室数据,大学生包括:编号,姓名,性别,班号,英语,高等数学和数据结构, 研究生包括:编号,姓名,性别,班号,指导教师和研究方法, 博士后包括:编号,姓名,性别,班号,指导教师,研究方法,职称和教研室数据.2) 信息修

4、改功能模块:实现已录入信息的修改,用新输入的信息覆盖原来的信息.3) 信息删除功能模块:通过编号删除已录入的成员信息.4) 信息查询功能模块:通过编号查找已录入的成员信息.5) 求平均分功能模块:该功能求出大学生英语、高等数学、数据结构三门的平均分.6) 成绩排序功能模块:该功能实现大学生英语、高等数学、数据结构和总分的排序,此处用冒泡排序法实现.(2)系统主函数流程图: 图4-2 主函数流程图 (3)类的层次图4-3类的层次图其中: 1) teacher类的a-编号,c-姓名,d-职称,b-教研室数据,input1()为输入编号和姓名的成员函数,input2()为输入职称和教研室数据的成员函

5、数,output1()为输出编号和姓名的成员函数,output2()为输出职称和教研室数据的成员函数,change()为修改教师资料数据的成员函数,delete()为删除教师资料数据的成员函数,search()为查找教师资料数据的成员函数. 2) undergraduate类的m-编号,s-姓名,t-性别,n-班号,e-英语成绩,f-高等数学成绩,g-数据结构成绩,z-总分,input3()为输入编号、姓名性别和班号的成员函数,input4()为输入英语、高等数学和数据结构成绩的成员函数,output3()为输出编号、姓名性别和班号的成员函数,output4()为输出英语、高等数学和数据结构成

6、绩的成员函数,change()为修改大学生资料数据的成员函数,delete()为删除大学生资料数据的成员函数,search()为查找大学生资料数据的成员函数,getnum()为求得录入大学生人数个数的成员函数. 3) graduate_student类的director-指导教师,method-研究方法,input5()为输入指导教师和研究方法的成员函数,output5()为输出指导教师和研究方法的成员函数. graduate_student类是undergraduate类的继承,继承了其m-编号,s-姓名,t-性别,n-班号. 4) postdoctoral类继承了teacher类和grad

7、uate_student类. 第二部分1.调试过程2.部分关键代码大学生资料修改的函数代码void Change(undergraduate u,int i2) system(cls); int choice; char number20,name20,sex,clas20,c; float English,math,date; coutnumber; for(int i=0;ii2;i+) if(strcmp(ui.m,number)=0) cout 1. 编号 2. 姓名endl; cout 3. 性别 4. 班号endl; cout 5. 英语成绩 6. 高等数学成绩endl; cout

8、 7. 数据结构成绩endl; do coutchoice; while(!(choice=1&choice=7) coutchoice; if(choice=1) coutnumber; strcpy(ui.m,number); if(choice=2) coutname; strcpy(ui.s,name); if(choice=3) coutsex; ui.t=sex; if(choice=4) coutclas; strcpy(ui.n,clas); if(choice=5) coutEnglish; ui.e=English; if(choice=6) coutmath; ui.f=

9、math; if(choice=7) coutdate; ui.g=date; coutendl; coutc; while(c!=Y&c!=N) coutc; while(c=Y); break; if(i=i2) cout 无此大学生的资料!endl; cout按任意键返回.; getch(); 教师资料删除的函数代码void Delete(teacher t,int *d1) system(cls); teacher tt; int r=*d1; char number20; coutnumber; coutendl; for(int i=0;ir;i+) if(strcmp(ti.a,

10、number)=0) for(int j=i;jr;j+) tt=tj; tj=tj+1; (*d1)-; cout编号number的教师的资料已删除!endl; break; if(i=r) cout 无此教师的资料!endl; 学生成绩排名代码void sort(undergraduate u,int *d2) int a; do system(cls); cout- 1. 英 语成绩排名 -endl; cout- 2. 高等数学成绩排名 -endl; cout- 3. 数据结构成绩排名 -endl; cout- 4. 总 分成绩排名 -endl; cout- 5. 返 回 主 菜 单 -

11、endl; couta; if(a5) cout输入错误,请重新输入!;if(a=1) undergraduate s; for(int i=0;i*d2;i+) for(int j=0;j*d2-i;j+) if(uj.euj+1.e) s=uj; uj=uj+1; uj+1=s; for(i=0;i*d2;i+) cout编号:setw(3)ui.m 姓名:setw(4)ui.s 班号:ui.nendl; coutendl; cout按任意键返回.; getch(); if(a=2) . if(a=3) . if(a=4) . while(a!=5);主函数void main() char

12、 c;int i,m=0;char b7;char pass7=111111;cout 欢 迎 您 使 用 学 校 人 员 信 息 管 理 系 统 endl;cout 管理人: 赖玉蕾 endl;cout*endl;cout请输入6位密码登录:;do for(i=0;i6;i+) c=getch(); bi=c; cout*; getch(); b6=0; if(strcmp(pass,b)!=0) m+; coutendl密码输入错误,请重新输入,您还有3-m次机会!endl; else coutendl-输入正确,请按任意键进入系统 !-endl; getch(); break; whil

13、e(m=3) system(cls); coutendlendlendlendlendlendlendlendlendl; coutttt连续三次输入错误,强制退出程序!endl; exit(0); teacher t20; undergraduate u20; graduate_student g20; postdoctoral p20; int ch,a,i1=0,i2=0,i3=0,i4=0,j; int *d1=&i1,*d2=&i2,*d3=&i3,*d4=&i4; char choice; do system(cls); menu1(); coutch; while(!(ch=1&

14、ch=8) coutch; switch(ch) case 1: do system(cls); menu2(); couta; while(!(a=1&a=5) couta; if(a=1) do system(cls); cout请输入教师信息:endl; ti1.input1(); ti1.input2(); coutendl; coutchoice; while(choice!=Y&choice!=N) coutchoice; i1+; while(choice=Y); if(a=2) do system(cls); cout请输入大学生信息:endl; ui2.input3(); u

15、i2.input4(); coutendl; coutchoice; while(choice!=Y&choice!=N) coutchoice; i2+; while(choice=Y); if(a=3) do system(cls); cout请输入研究生信息:endl; gi3.input3(); gi3.input5(); coutendl; coutchoice; while(choice!=Y&choice!=N) coutchoice; i3+; while(choice=Y); if(a=4) do system(cls); cout请输入博士后信息:endl; pi4.inp

16、ut3(); pi4.input2(); pi4.input5(); coutendl; coutchoice; while(choice!=Y&choice!=N) coutchoice; i4+; while(choice=Y); while(a!=5); break; case 2: do system(cls); cout资料修改.endl; coutendl; menu2(); couta; while(!(a=1&a=5) couta; if(a=1) Change(t,i1); if(a=2) Change(u,i2); if(a=3) Change(g,i3); if(a=4)

17、 Change(p,i4); while(a!=5); break; case 3: do system(cls); cout资料删除.endl; coutendl; menu2(); couta; while(!(a=1&a=5) couta; if(a=1) Delete(t,d1); if(a=2) Delete(u,d2); if(a=3) Delete(g,d3); if(a=4) Delete(p,d4); if(!(a=5) cout按任意键返回.; getch(); while(a!=5); break; case 4: do system(cls); cout资料查询.end

18、l; coutendl; menu2(); couta; while(!(a=1&a=5) couta; if(a=1) Search(t,i1); if(a=2) Search(u,i2); if(a=3) Search(g,i3); if(a=4) Search(p,i4); if(!(a=5) cout按任意键返回.; getch(); while(a!=5); break; case 5: system(cls); cout教师信息:endl; if(*d1=0) cout 暂无!endl; for(j=0;j*d1;j+) tj.output1(); tj.output2(); co

19、utendl; coutendl; cout大学生信息:endl; if(*d2=0) cout 暂无!endl; for(j=0;j*d2;j+) uj.output3(); uj.output4(); coutendl; coutendl; cout研究生信息:endl; if(*d3=0) cout 暂无!endl; for(j=0;j*d3;j+) gj.output3(); gj.output5(); coutendl; coutendl; cout博士后信息:endl; if(*d4=0) cout 暂无!endl; for(j=0;j*d4;j+) pj.output3(); p

20、j.output2(); pj.output5(); coutendl; coutendl; cout按任意键返回主菜单.; getch(); break; case 6: ave(u,d2);break; case 7: sort(u,d2);break; case 8: system(cls); coutendlendlendlendlendlendlendlendlendl;cout- 感谢您的使用 -endl;coutendl;exit(0);default: cout 输入错误,请重新选择! endl; while(ch!=8); 第三部分1.总结: 通过本次课程设计,使我对C+有了

21、更进一步的认识和掌握。这让我对编程过程有了一个比较清晰的认识,拿到一个题目或一个项目,首先要对其进行深入的了解和分析,可通过查阅资料的方式完成这一步, 其次,需要对这个系统设计一个整体的轮廓,再对其整体进行分解,分解成多个小部分,然后对各个小部分的功能的实现编写代码 ,编写完成之后把各个部分重新梳理合并起来,再一步步地进行功能的完善 ,最后就完成了该系统的编写和设计。由于基础不是很好,在编写过程中困难重重,不过通过查阅资料以及在同学和老师的帮助下,多次修改和调试,最终还是顺利地完成了本次课程设计 。这让我学到了很多课堂上学不到的知识,这也是一种宝贵的经验。编程需要的是细心和耐心,也需要一种精益求精的态度,这使得我锻炼了一番。同时也发现了自

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2