厦门理工学院c课程设计学校人员信息管理系统_第1页
厦门理工学院c课程设计学校人员信息管理系统_第2页
厦门理工学院c课程设计学校人员信息管理系统_第3页
厦门理工学院c课程设计学校人员信息管理系统_第4页
厦门理工学院c课程设计学校人员信息管理系统_第5页
免费预览已结束,剩余38页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+面向对象程序设计»课程设计报告(2012 2013学年第3学期)题目:学校人员信息管理系统专业:班级:姓名学号:浩哥指导教师:成 绩:计算机科学与技术系2013 年 7 月 1 日设计目的课程设计是学习 C+ 程序设计的一个重要环节。 通过课程设计的综合训练, 可以使学生在学 习理论知识并在实验中进行了一系列基本训练的基础上,进一步加强学生对实际问题分析、 编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用 Visual C+ 6.0 以后,通过使用 Visual C+ 6.0 的训练,扩展程序设计的知识面, 提高综合应用 C+ 知识能力的要求。二、设计内

2、容设计一个学校人员信息管理系统,可以实现对学校人事的信息管理。基本功能要求如下:(1)建立人员信息数据。包括学号(教工号)、姓名、性别、专业(工作系别部门) 、出生时间、年龄。其中,1)对学生,还包括 3 门课的成绩 (Chinese, English, Mathematics) 。三门课的成绩为 int 型数据。2)对教师,还包括职称(如教授 /副教授 /讲师),工资(如 1432.50)。工资为 double 型 数据。(2)使用继承的方法构造 3 个类,对相应的对象放置 10 个学生(教师)信息。?People 类 虚基类?Student 类 派生类? Teacher 类 派生类(3)数

3、据基本功能:?增加数据: AddData() 函数。?删除数据: DeleteData() 函数。根据学号(教工号) ,删除该人员的记录。? 修改数据 : UpdateData() 函数。对学生,根据学号,能够修改 3 门课的成绩;对 教师,根据教工号,能够修改“职称”和“工资” 。? 查找功能:1)SearchData()函数。要求能够根据“学号(教工号) ”、“姓名”、“性别”三项实现查询, 并能在屏幕上显示满足条件的数据记录。2)FindMaxData() 函数。对学生,查找“ English ”课程成绩最高的学生记录并打印;对教师, 查找“工资”最高的教师记录并打印。要求:采用函数模板

4、实现。? 显示功能: DisplayData() 函数。在屏幕上打印所有的数据记录;打印时,先打 印学生的记录,后打印教师的记录。并且按学生(教工号)升序打印。4)重载功能:? 要求对“vv”和“>>”运算符进行重载。考虑到输人学生(教工)姓名时, 名字中可能引入空格,所以重载“>>”运算符时,需要满足这个要求。5)异常处理功能:? 设置异常处理,对教师工资为负数的情况给出提示。6)文件的输入输出功能:? 能够从文件中读入数据。外部文件为Student_ext.dat, Teacher_ext.dat。? 能够将数据保存到相应目录的文件中。保存数据时,分两个文件分别保存

5、 Student.dat, Teacher.dat。7)参考系统界面如示:?1-增加一位人员(教师、学生)记录? 2-删除一个人员记录? 3-修改一个人员记录? 4-根据“学号(教工号) ”、“姓名”、“性别”查找记录? 5-根据人员类别(学生、教师)查找“English ”课程成绩最高的学生,或最高工资的教师? 6-显示全部人员记录? 7- 从外部文件追加数据? 8- 将所有数据保存到磁盘文件? 9- 退出系统。三、总体设计1、系统类的层次关系people 类基类 包含的数据成员:学号(教工号) 、姓名、性别、出生时间、年龄。student 类派生类扩充的数据成员:Chinese, Engl

6、ish, Mathematics 三门成绩,选修课成绩,选修课名称,专业。teacher 类 扩充的数据成员:派生类还包括职称(如教授/副教授 /讲师),工资,所教课程,所属部门。2、类的主要框架描述1、基类:class peoplepublic:int num;string name;string sex;string birthday;int age;people(int num1,string name1,string sex1,string birthday1,int age1) num=num1;name=name1;sex=sex1;birthday=birthday1;age=a

7、ge1;2、学生类:class student:virtual public people public:string major;string lesson;int score;int Chinese;int English;int Mathematics;student(int num1=0,string name1="",string sex1="",string birthday1="",int age1=0, string major1="",string lesson1="",int

8、 score1=0,int Chinese1=0,int English1=0,int Mathematics1=0):people(num1,name1,sex1,birthday1,age1)major=major1; lesson=lesson1; score=score1; Chinese=Chinese1; English=English1; Mathematics=Mathematics1;void AddData()system("cls");cout<<" 请输入学号 :" cin>>num; for(int k=

9、1;k<11;k+) if(num=k) k=11;if(k=11) cout<<" 请输入 10 以内的学号 :"<<endl; AddData();cout<<" 请输入学生姓名 :" cin>>name;cout<<" 请输入学生性别 :" cin>>sex;cout<<" 请输入学生专业 :" cin>>major;cout<<" 请输入学生出生时间 :" cin>&g

10、t;birthday;cout<<" 请输入学生年龄 :"cin>>age;.n.cout<<" 请按顺序输入学生语文、英语、数学成绩 cin>>Chinese;cin>>English; cin>>Mathematics; cout<<" 请输入选修课名 cin>>lesson;cout<<" 请输入选修课成绩 cin>>score;void DisplayData() void save(ofstream &out

11、f)cout<<"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl;cout<<"*"<<" 学号 "<<" "<<" 姓名 "<<" "<<" 性别 "<<" "<<" 专业 "&l

12、t;<" 时间 "<<" "<<" 年龄 "<<" "<<" 语文 "<<" "<<" 英语 "<<" "<<" 数学 "<<" "<<" "<<" 选修课 "<<"*"<<en

13、dl;cout<<"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl;"<<name<<"t"<<sex<<"cout<<num<<""<<" 出生 "<<" 选修课名t"<<birthday<<""

14、<<Chinese<<"t"<<English<<"t"<<Mathematics<<"t"<<lesson<<"t"<<score<<"t"<<endl; cout<<"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<&l

15、t;endl;"<<major<<""<<age<<"outf<<" 学号 "<<" "<<" 姓名 "<<" "<<" 性别 "<<" "<<" 专业 "<<" "<<" 出生 时间 "<<" &qu

16、ot;<<" 年龄 "<<" "<<" 语文 "<<" "<<" 英语 "<<" "<<" 数学 "<<" "<<" 选修课名 "<<" "<<" 选修课 "<<endl;outf<<num<<" &q

17、uot;<<name<<"t"<<sex<<" "<<major<<" t"<<birthday<<" "<<age<<" "<<Chinese<<"t"<<English<<"t"<<Mathematics<<"t"<<lesson&

18、lt;<"t"<<score<<"t"<<endl;void load(ifstream &inf)inf>>num>>name>>sex>>major>>birthday>>age>>Chinese>>English>>Mathematics>>les son>>score;stu10;3、教师类: class teacher:virtual public peoplepu

19、blic:string department;string lesson;string job;double salary;teacher(int num1=0,string name1="",string sex1="",string birthday1="",int age1=0,string department1="",string lesson1="",double salary1=0,string job1=""):people(num1,name1,sex1,b

20、irthday1,age1)department=department1;lesson=lesson1;salary=salary1;job=job1;void AddData()system("cls");cout<<" 请按顺序输入教工号 :"cin>>num;for(int k=1;k<11;k+)if(num=k)k=11;if(k=11)cout<<" 请输入 10 以内的教工号 "<<endl;AddData();cout<<" 请输入教师姓名 :

21、"cin>>name;cout<<" 请输入教师性别 :"cin>>sex;cout<<" 请输入教师工作系别部门 :"cin>>department;cout<<" 请输入教师所教课程 :"cin>>lesson;cout<<" 请输入教师出生时间 :"cin>>birthday;cout<<" 请输入教师年龄 :"cin>>age;cout<&l

22、t;"请输入教师职称(如教授/副教授/讲师):";cin>>job; cout<<" 请输入教师工资 :" cin>>salary;cout<<" 请输入教师所教课程 :" cin>>lesson;try /处理教师工资合法性if (salary<0)throw salary;/抛出异常catch(double )/ 捕获异常,异常类型是 double 型cout<<" 输入有误 ,请重新输入 "<<endl; /进行异常处理

23、 main(); void DisplayData()cout<<"*"<<endl;cout<<"*"<<" 教工号 "<<" "<<" 姓名 "<<" "<<" 性别 "<<" "<<" 工作部门 "<<" "<<" 出生时间 "&

24、lt;<" "<<" 年龄 "<<" "<<" 职称 "<<" "<<" 工资 "<<" "<<" 课程 "<<" *"<<endl;cout<<"1* *"<<endl;cout<<"*"<<num<<&

25、quot;t"<<name<<"t"<<sex<<"t"<<department<<"t"<<birthday<<"t"<<age<<"t"<<job<<"t"<<salary<<"t"<<lesson<<" *"<<endl

26、;cout<<"1* *"<<endl;void save(ofstream &outf)outf<<" 教工号 "<<" "<<" 姓名 "<<" "<<" 性别 "<<" "<<" 工作部门 "<<" "<<"出生时间"<<"&quo

27、t;<<"年龄"<<""<<"职称"<<""<<"工资"<<""<<"课程"<<endl;outf<<num<<"t"<<name<<"t"<<sex<<"t"<<department<<"t&qu

28、ot;<<birthday<<"t"<<age<<"t "<<job<<"t"<<salary<<"t"<<lesson<<endl;void load(ifstream &inf)inf>>num>>name>>sex>>department>>birthday>>age>>job>>sala

29、ry>>lesson;tea10;4、教师类功能函数:template<typename Q>Q Max(Q * x,int len)/求最大值模版void TAddData() void TDeleteData() void TUpdateData()/对教师类对象的添加功能函数 /对教师类对象的删除功能函数 /对教师类对象的修改功能函数void TSearchData_num()/按教工号查询教师类对象void TSearchData_nam()/ 按姓名查询教师类对象void TSearchData_sex()/ 按性别查询教师类对象void TSearchDat

30、a_lesson() / 按课程查询教师类对象void TFindMaxData()/ 对教师类对象的最高工资查询功能函数void TDisplayData()void Tsave()void Tload()/对教师类对象按教工号升序排序打印功能函数/对教师类对象的保存功能函数/对教师类对象的读取功能函数5、学生类功能函数:template<typename Q> / 求最大值模版 Q Max(Q * x,int len)void SAddData() void SDeleteData() void SUpdateData()/对学生类对象的添加功能函数/对学生类对象的删除功能函数

31、/对学生类对象的修改功能函数void SSelectLesson()/ 学生进行选课void SSearchData_num()/ 按学号查询学生类对象void SSearchData_nam()/按姓名查询学生类对象void SSearchData_sex()/ 按性别查询学生类对象void SFindMaxData()/对学生类对象的最高英语成绩查询功能函数void SDisplayData()void Ssave()void Sload()/对学生类对象按学号升序排序打印功能函数/对学生类对象的保存功能函数/对学生类对象的读取功能函数6、功能函数:void Showmenu()/主界面v

32、oid Men u()增加函数二级界面void Men u1()/查询函数二级界面void Me nu2()/选课函数二级界面void Menu 3()/查找工资最高和成绩最高二级界面void Men u4()/其他功能界面void SelectLess on() void AddData()void DeleteData() void UpdateData() void SearchData() void Fin dMaxDataS() void Fin dMaxDataT() void DisplayData()/选课功能函数/添加功能函数删除功能函数/修改功能函数/查询功能函数/英语成绩

33、最高学生查询函数/工资最高教师查询函数/显示全部人员记录函数void Elsefu nctio n() void Password。 void evaluate() void Tutori ng() void Failsearch() void save() void load() int mai n()/其他功能函数/密码功能函数/教师评分函数/辅导预约函数/挂科查询功能函数/保存功能函数/读取功能函数/switch主体函数欢迎进入学生成绩管理系统盘选择勉字进行操作眄山於课程成绩梟高瞬生或最高H资的教师1- 増如一位丿员一记录2- :345-7-显示全部人员记录四、系统测试用例1、主界面显示

34、 '' C:Userscxi49Desktoicrosoft Visual StudioMyProjectAc+'.TKlDebu2、记录教师数据和"GUserscu49DesktopMicrosoft Visual £tudiciMyProEct£f + +课程设计DEbug煤程设计“=S2 S 畫 工:2 iirJS 8 门+97 部:c:lif 开* 応* ”誓职称工资 课程*.5.335教授 3800W龄开* 年M«1 &idf.w5 刻al程 :m系课时:3c:3课 入姓性工所出年职工所功*帀帀re * fxAA

35、AAAAA * 手 土塁冃青青青青青青圭星冃忝fn.刖帀帀帀帀帀帀* 4- wW出茜4J* nJ M 开刪砂 w忖祐 c *时托* J * * n* 性 Kna* J茜n* 名 *ns 姓二M z T- 啾z3、教师工资数据异常处理?"! 'CUserscu49De5ktopMicrooft Visual StudioMyF亂犁工号汐 币姓名:2 帀性别:2 帀工隹条别部门戒 帀所載课程:2 帀出生87|5=2Lp呈詔4、保存文件记录情输入操作对象rv*rv*rv*建罷?数字进行操作沢丈件0)鍋辑鱼)格式)查署辺 帮助Q0程程mLr-r'3-课2性别 工作部门出生吋间

36、 年龄 性山 工作舊门出韋时间 £龄名名 姓1姓2 号号鞍25、选修课功能演示7、求教师工资最高或学生english最高_L方师程课岀么12 3 4请输入聽忖丁 E養科持菩*務开务祕崎*t«4普科诵菁祷*开菁社転祷特普科科着苦豪腐开竇祕牺 教工号 姓名 性别 工作部门出生时间 年希 职称 工资 课程 展醫*4#弭豪*童鬓 柴醫4# 轉弭弭豪餐冀柴特弄44弭豪弭齋*牺»1111122541按任意键继续C:U8ERS匚U4g、DE£KTOPVWCKOSOFr VISUAL STUD10MVPR0JECTSC+ +Debugcci|请输入根据什么方式进行选课1

37、-教师34 退出油S1 蚌Z1噩 If鬲行 卄学修进续 择主选囉 选学養犍 入入你意 请灶枭按6、显示所有人员记录3 'C:lJSER&CU4gDESKT0PMTCR0S0FT VISUAL STUD10MYPR0JECT&C+Debugccexe' | 苛回',学号姓名性别专业W * *出生时间* * *年龄- 軒 *语文# -Mr ft 英语 Mr -X Wr *#数学* 来* 兴选修课名卜託*t 雅选修课F * 眸*F誇苔菁清祥*齋牺 学号姓名性别« W W专业岀生时间w If *年龄# # W语文M M M英语F W *数学It 牺牺普

38、普选修课名M MMW选修课安任意避继续M M -M-擇餐呉興冥我昱分劃线卜教工号姓名性别工作部门出生时间年龄 职称 工资* 豪课程胺任意键继续可 C:USERSCU4gDESKTQPMICROSOFTVISUAL STU DI OM YP RO J ECTSC + +Deb ugcc.exe 1 =»轉生 P学的 *高 <呼取 么W-成 .s 查高亞 输1.2.3.请.1 TL选择"数字进行操作次X 其冥关翼呉餐冥其呉关翼呉墓莫冥翼关暮餐呉奚冥具 釜暮餐呉真其冥 釜纂共呉蛇 共教工号 姓名 性别 工作部门出生时间 年龄 职称 工贽 课程*it <«*&

39、#171;*»#<*»««» <<*«*333333333*按任意键继续3 'C:USERSCU45DE&<TOPM1 CROSOFT VISUAL STUD!OM¥PROJECT£C +Debjgcc.exe'St¥主 ¥ 二子V 、的*高弟莎取-7T什餐 找工课 杳一高甫 Afti:覽选择一 3数字连行操作诃料暮是貝餐餐餐翼畀呉譬*畀臺貝長貝悝餐餐轉呉長强君畀貝矣貝幅餐餐吳呉矣 姓名 性别 专业 岀生时间 年龄 语文英语数学 送修课容 选修课

40、科 援呉呉呉按* 弹薯 冥菇餐 譬良 拥:娱呉 捧餐興 餐冥費餐强舁 輕戻熹呉餐冥呉呉关8、删除需要输入密码功能演示J GUserScu49De5ktopME记丞需要获得授权辛X KXXK1131 : KXXKXAw; 饑功it得授权9、其他功能演示亘3 'C:User5cu49D&5ktopMi cro soft Visual Stu dioMyPrqject5c f+D ebugcc, exe'请输入你要进 14.约分 操查预评 曇导师出选择1-4数予进彳亍操作:10、挂科查询选修棗*餾耀騒謬年论22T71 'C:J5erscj49DesktopM cros

41、oft Visual StudioMyProjecisc + +Debugcc.exe'询约分JTLL- 7- i - L进1 .2.3.4.要1 f氏吧報修二s-_ 亍 3 胖:2年 K明砧 feIID 1-oa 8S 选10文文 人话语的蓟学号 姓名 性别 专业 岀牛时间 年龄 语文 英谙 数学 选修课名«<*»«*<*#<*«»*«»«*«««<*««<«*<« W W W M311、辅导预约功能

42、321 'C:Userscu49DesktopMicro5oft Visual StudioMyProjectsc + + 0ebugcc,exe'卵黯情输入你要进f I i* 2邇导预约* 3遢师评分 4.i§i2 4 二 F 作 押 操 曲 行1祠 F课预排 <看仃安 1-学尋豊 择生辅功鎏 选学鐘 yAIA辛意 请12、教师评分J 'C:llserscuJ9DesktopMicrosoft Vitual Studi oMyProjectsc + + Debugccrej(?'口请输人你要进聲 1.3.4.分 操查闹评 畀导师出课程*

43、1; * M «1 *选扌靱T数宇进行操作汨« 开 * 妊 * 瞬畫養普开斎*廣普打*黑11&开*昔 *嗽工号姓名性别工作部门出生时间年龄 职称 工资* 費刀 *教评*续 妊继斟辛Ha 二昊入成 *按请谙评的教工号汽五、错误记录及原因分析六、源程序见附件C+课程设计.cpp#in clude<iostream>#in clude<stri ng>#in clude<fstream>#in clude<stdlib.h>#in clude<wi ndows.h>#in clude<c oni o.h&g

44、t;#in clude<ioma nip>using n amespace std;int mai n();void Showme nu();static int T=0;II用于标记老师类对象的个数static int S=0;II用于标记学生类对象的个数class people public:int num;stri ng n ame;stri ng sex;stri ng birthday;int age;people(int num1,string name1,string sex1,string birthday1,int agel) num=nu ml;n ame=n

45、amel;sex=sex1;birthday=birthday1;age=age1;class student:virtual public peoplepublic:string major;string lesson;int score;int Chinese;int English;int Mathematics;student(int num1=0,string name1="",string sex1="",string birthday1="",int age1=0, string major1="",

46、string lesson1="",int score1=0,int Chinese1=0,int English1=0,int Mathematics1=0):people(num1,name1,sex1,birthday1,age1)major=major1; lesson=lesson1; score=score1; Chinese=Chinese1; English=English1; Mathematics=Mathematics1;friend istream &operator>>( istream &is,student &

47、;stu)/重载">>" 运算符函数声明is>>stu.num; is>>stu.sex; is>>stu.major; is>>stu.birthday; is>>stu.age; is>>stu.lesson; is>>stu.score; is>>stu.Chinese; is>>stu.English; is>>stu.Mathematics;return is; /退出函数friend ostream &operator<

48、;<(ostream &os,student &stu)/重载 "<<" 运算符函数声明os<<stu.num<<'n' os<<<<'n' os<<stu.sex<<'n' os<<stu.major<<'n' os<<stu.birthday<<'n' os<<stu.age<<'n'

49、 os<<stu.lesson<<'n' os<<stu.score<<'n' os<<stu.Chinese<<'n' os<<stu.English<<'n' os<<stu.Mathematics<<'n' return os; / 退出函数void AddData()char name120;system("cls");cout<<" 请输入学号

50、:" cin>>num;for(int k=1;k<11;k+)if(num=k)k=11;if(k=11)cout<<" 请输入 10 以内的学号 :"<<endl; cout<<" 按任意键继续 "<<endl; getche();AddData();cout<<" 请输入学生姓名 :" getchar();cin.getline(name1,20,'n'); name=name1;cout<<" 请输入学

51、生性别 :" cin>>sex;cout<<" 请输入学生专业 :"cin>>major;cout<<" 请输入学生出生时间 :" cin>>birthday;cout<<" 请输入学生年龄 :"cin>>age;cout<<" 请按顺序输入学生语文、英语、数学成绩 cin>>Chinese;cin>>English;cin>>Mathematics;cout<<"

52、; 请输入选修课名 :" cin>>lesson;cout<<" 请输入选修课成绩 :" cin>>score;void DisplayData()cout<<"*"<<endl;cout<<"*"<<" 学号 "<<" "<<" 姓名 "<<" "<<" 性别 "<<" &

53、quot;<<" 专业 "<<" "<<" 出生 时间"<<" "<<" 年龄 "<<" "<<" 语文"<<" "<<"英语"<<" "<<" 数学"<<" "<<"选修课名"<

54、;<" "<<" 选修课 "<<" *"<<endl;cout<<"*"<<endl;cout<<num<<" "<<name<<"t"<<sex<<" "<<major<<" t"<<birthday<<" "<<age

55、<<" "<<Chinese<<"t"<<English<<"t"<<Mathematics<<"t"<<lesson<<"t"<<score<<"t"<<endl;cout<<"*"<<endl;cout<<" 按任意键继续 "<<endl; g

56、etche();stu10;template<typename Q> / 求最大值模版 Q Max(Q * x,int len)Q max=x0;for(int i=1;i<len;i+)max=max>xi? max:xi;return max; void Ssave()ofstream out("C:Student_ext.dat",ios:out);out<<setw(3)<<"Num"<<setw(5)<<"Name"<<setw(4)<

57、<"Sex"<<setw(6)<<"Major"<<setw( 9)<<"Birthday"<<setw(4)<<"Age"<<setw(8)<<"Chinese"<<setw(8)<<"English"<<setw(12)<<"M athematics"<<endl;for(int i=0;i&

58、lt;S;i+)out<<setw(3)<<stui.num<<setw(5)<<<<setw(4)<<stui.sex<<setw(6)<<stui.major<<setw(9)<<stui.birthday<<setw(4)<<stui.age<<setw(8)<<stui.Chinese<<setw(8)<<stu i.English<<setw(12)<<

59、stui.Mathematics<<endl;out<<'0'out.close();cout<<" 学生数据保存成功 "<<endl;cout<<""<<endl;cout<<" 按任意键继续 "<<endl;cout<<""<<endl;getche();void Sload() char temp100;cout<<"Here is your infor

60、mation:"<<endl; ifstream in("C:Student_ext.dat",ios:binary); if(!in)cout<<"Cannot open input file"<<endl; exit(1);in.read(char *)temp,sizeof(temp);cout<<temp;cout<<""<<endl;cout<<" 按任意键继续 "<<endl;cout<<

61、;""<<endl;getche();void SSelectLesson() /学生进行选课 int i;cout<<" 请输入学生学号 cin>>i;cout<<" 请输入要选修的课程 :" cin>>stui.lesson;cout<<" 恭喜你成功进行选课 !"<<endl; cout<<" 按任意键继续 "getche();void SAddData() /对学生类对象的增加功能函数 stuS.Add

62、Data(); for(int i=0;i<10;i+) if(i!=S&&stuS.num=stui.num) !"<<endl;cout<<" 输入学号重复,请重新输入 main();cout<<" 增加记录成功 !"<<endl; stuS.DisplayData();S+; void SDeleteData()/ 对学生类对象的删除功能函数 int n;if(S=0)cout<<" 没有可删除的记录 !"<<endl;elsecout

63、<<" 请输入 10 以内的学号 :"cin>>n;for(int i=0;i<S;i+)if(stui.num=n) for(;i<S;i+) stui=stui+1;S-;cout<<" 成功删除记录 !"<<endl; void SUpdateData()/ 对学生类对象的修改功能函数 int n;if(S=0)cout<<" 没有可删除的记录 !"<<endl; elsecout<<" 请输入 10 以内的学号 :&quo

64、t; cin>>n;for(int i=0;i<S;i+) if(stui.num=n) cout<<" 原有的记录 :"<<endl; stui.DisplayData();cout<<" 请输入新的记录 :"<<endl;cout<<" 请按顺序输入语文、英语、数学成绩cin>>stui.Chinese;cin>>stui.English;cin>>stui.Mathematics; cout<<" 请输入

65、选修课名 :" cin>>stui.lesson;cout<<" 请输入选修课成绩 :"cin>>stui.score;cout<<" 新的记录 :"<<endl;stui.DisplayData(); void SSearchData_num()/ 按学号查询学生类对象 int n;cout<<"请输入10以内的学号:";cin>>n;for(int i=0;i<S;i+)if(stui.num=n)stui.DisplayData(

66、);i=S; if(i=S) cout<<" 查询的记录不存在,请重新输入 !"<<endl;SSearchData_num(); void SSearchData_nam()/ 按姓名查询学生类对象string nam_s;cout<<" 请输入学生名字 :"<<endl;cin>>nam_s;for(int j=0;j<S;j+)if(=nam_s)stuj.DisplayData();j=S;if(j=S)cout<<" 查询的记录不存在,请重

67、新输入 !"<<endl;SSearchData_nam();void SSearchData_sex()/ 按性别查询学生类对象string sex_s;cout<<" 请输入学生性别 :"<<endl;cin>>sex_s;for(int p=0;p<S;p+)if(stup.sex=sex_s) stup.DisplayData(); p=S; if(p=S) cout<<" 查询的记录不存在,请重新输入 !"<<endl; SSearchData_sex();

68、 void SFindMaxData()/ 对学生类对象的最高英语成绩查询功能函数 int nu;double t10;for(int a=0;a<S;a+)ta=stua.English; nu=Max(t,S);for(a=0;a<T;a+) if(nu=stua.English)stua.DisplayData();void SDisplayData()/对学生类对象按学号升序排序打印功能函数for(int i=1;i<11;i+)for(int c=0;c<S;c+)if(stuc.num=i) stuc.DisplayData(); class teacher

69、:virtual public people public:string department;string lesson;string job;double salary;teacher(int num1=0,string name1="",string sex1="",string birthday1="",int age1=0,string department1="",string lesson1="",double salary1=0,string job1="")

70、:people(num1,name1,sex1,birthday1,age1)department=department1;lesson=lesson1;salary=salary1;job=job1;/重载">>" 运算符函数声明/重载"<<" 运算符函数声明friend istream &operator>>( istream &is,teacher &tea) is>>tea.num;is>>tea.sex;is>>tea.department;is&g

71、t;>tea.birthday;is>>tea.age;is>>tea.job;is>>tea.salary;is>>tea.lesson;return is; /退出函数friend ostream &operator<<( ostream &os,teacher &tea)os<<tea.num<<'n'os<<<<'n'os<<tea.sex<<'n' os<

72、<tea.department<<'n' os<<tea.birthday<<'n'os<<tea.age<<'n'os<<tea.job<<'n'os<<tea.salary<<'n'os<<tea.lesson<<'n' return os; / 退出函数void AddData()char name120; system("cls");c

73、out<<" 请按顺序输入教工号 :" cin>>num;for(int k=1;k<11;k+)if(num=k)k=11;if(k=11)cout<<" 请输入 10 以内的教工号 "<<endl; cout<<" 按任意键继续 "<<endl; getche();AddData(); cout<<" 请输入教师姓名 :"getchar(); cin.getline(name1,20,'n');name=name1;cout<<" 请输入教师性别 :" cin>>sex;cout<<" 请输入教师工作系别部门 :" cin>>department;cout<<" 请输入教师所教课程 :" cin>>

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论