学校人员信息管理教材_第1页
学校人员信息管理教材_第2页
学校人员信息管理教材_第3页
学校人员信息管理教材_第4页
学校人员信息管理教材_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

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

文档简介

100/100一、设计目的课程设计是学习C++程序设计的一个重要环节。通过课程设计的综合训练,能够使学生在学习理论知识并在实验中进行了一系列差不多训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用VisualC++6.0以后,通过使用VisualC++6.0的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。二、设计内容设计一个学校人员信息治理系统,能够实现对学校人事的信息治理。差不多功能要求如下:(1)建立人员信息数据。包括学号(教工号)、姓名、性不、专业(工作系不部门)、出生时刻、年龄。其中, 1)对学生,还包括3门课的成绩(Chinese,English,Mathematics)。三门课的成绩为int型数据。 2)对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double型数据。(2)使用继承的方法构造3个类,对相应的对象放置10个学生(教师)信息。People类——虚基类Student类——派生类Teacher类——派生类(3)数据差不多功能:增加数据:AddData()函数。删除数据:DeleteData()函数。依照学号(教工号),删除该人员的记录。修改数据:UpdateData()函数。对学生,依照学号,能够修改3门课的成绩;对教师,依照教工号,能够修改“职称”和“工资”。查找功能:1)SearchData()函数。要求能够依照“学号(教工号)”、“姓名”、“性不”三项实现查询,并能在屏幕上显示满足条件的数据记录。2)FindMaxData()函数。对学生,查找“English”课程成绩最高的学生记录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采纳函数模板实现。显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。同时按学生(教工号)升序打印。(4)重载功能:要求对“<<”和“>>”运算符进行重载。考虑到输人学生(教工)姓名时,名字中可能引入空格,因此重载“>>”运算符时,需要满足那个要求。(5)异常处理功能:设置异常处理,对教师工资为负数的情况给出提示。(6)文件的输入输出功能:能够从文件中读入数据。外部文件为Student_ext.dat,Teacher_ext.dat。能够将数据保存到相应目录的文件中。保存数据时,分两个文件分不保存Student.dat,Teacher.dat。(7)参考系统界面如示:1-增加一位人员(教师、学生)记录2-删除一个人员记录3-修改一个人员记录4-依照“学号(教工号)”、“姓名”、“性不”查找记录5-依照人员类不(学生、教师)查找“English”课程成绩最高的学生,或最高工资的教师6-显示全部人员记录7-从外部文件追加数据8-将所有数据保存到磁盘文件9-退出系统。三、总体设计1.系统类的程序关系2.类的要紧框架描述***************************************************************************基类:***************************************************************************classpeople{public: intnum; charname[30]; charsex[15]; charmajor_or_department[50]; chardate[30]; intage; people(intn,charnam[30],chars[15],charo[50],chard[30],inta) { num=n; strcpy(name,nam); strcpy(sex,s); strcpy(major_or_department,o); strcpy(date,d); age=a; }};***************************************************************************教师类:***************************************************************************classteacher:virtualpublicpeople{public:teacher(intn=0,charnam[30]="",chars[15]="",charo[50]="",chard[30]="",inta=0,charj[50]="",doublesa=0):people(n,nam,s,o,d,a),salary(sa){strcpy(job,j);} charjob[50]; doublesalary; friendistream&operator>>(istream&is,teacher&tea);//重载">>"运算符函数声明friendostream&operator<<(ostream&os,teacher&tea);//重载"<<"运算符函数声明voidAddData();voidDisplayData();}tea[10];***************************************************************************学生类:***************************************************************************classstudent:virtualpublicpeople{public:student(intn=0,charnam[30]="",chars[15]="",charo[50]="",chard[15]="",inta=0,intc=0,inte=0,intm=0):people(n,nam,s,o,d,a),score_chinese(c),score_english(e),score_mathematices(m){} intscore_chinese; intscore_english; intscore_mathematices; friendistream&operator>>(istream&is,student&stu);//重载">>"运算符函数声明 friendostream&operator<<(ostream&os,student&stu);//重载"<<"运算符函数声明 voidAddData();voidDisplayData();}stu[10];***************************************************************************教师类功能函数***************************************************************************template<typenameQ>QMax(Q*x,intlen)voidTAddData()//对教师类对象的添加功能函数voidTDeleteData()//对教师类对象的删除功能函数voidTUpdateData()//对教师类对象的修改功能函数voidTSearchData_num()//按教工号查询教师类对象voidTSearchData_nam()//按姓名查询教师类对象 voidTSearchData_sex()//按性不查询教师类对象voidTFindMaxData()//对教师类对象的最高工资查询功能函数voidTDisplayData()//对教师类对象按教工号升序排序打印功能函数voidTsave()//对教师类对象的保存功能函数voidTload()//对教师类对象的读取功能函数***************************************************************************学生类功能函数***************************************************************************template<typenameQ>QMax(Q*x,intlen)voidSAddData()//对学生类对象的添加功能函数voidSDeleteData()//对学生类对象的删除功能函数voidSUpdateData()//对学生类对象的修改功能函数voidSSearchData_num()//按学号查询学生类对象voidSSearchData_nam()//按姓名查询学生类对象 voidSSearchData_sex()//按性不查询学生类对象voidSFindMaxData()//对学生类对象的最高英语成绩查询功能函数voidSDisplayData()//对学生类对象按学号升序排序打印功能函数voidSsave()//对学生类对象的保存功能函数voidSload()//对学生类对象的读取功能函数***************************************************************************功能函数***************************************************************************voidShowmenu()voidMenu()voidMenu1()voidAddData()//添加功能函数voidDeleteData()//删除功能函数voidUpdateData()//修改功能函数voidSearchData()//查询功能函数voidFindMaxDataS()//英语成绩最高学生查询函数voidFindMaxDataT()//工资最高教师查询函数voidDisplayData()//显示全部人员记录函数voidsave()//保存功能函数voidload()//读取功能函数intmain()四、系统测试用例主菜单界面异常处理教工号学号输入重复报错按升序排列所有记录保存记录五、错误记录及缘故分析1.字符数组直接赋值发生错误错误缘故分析:字符数组不可直接赋值,而要用stycpy函数进行赋值。2.在派生类析构函数中初始化出现问题。错误缘故分析:要给形参赋初值。3.排序功能有错误错误缘故分析:排序功能函数只有一个循环,当没有按顺序输入教工号或学号时,不能输出排序。要在循环外再加一个循环进行操纵。4.添加记录输入重复教工号或学号时可不能显示输入有误错误缘故分析:当输入有误时再次调用添加函数,添加函数里有清屏函数,会将错误提示清屏掉。应再从主函数中调用添加函数。六、源程序#include<iostream>#include<string>#include<fstream>#include<stdlib.h>#include<windows.h>usingnamespacestd;intmain();staticintT=0;//用于标记老师类对象的个数staticintS=0;//用于标记学生类对象的个数classpeople{public: intnum; charname[30];charsex[15]; charmajor_or_department[50]; chardate[30]; intage; people(intn,charnam[30],chars[15],charo[50],chard[30],inta) { num=n; strcpy(name,nam); strcpy(sex,s); strcpy(major_or_department,o); strcpy(date,d); age=a; }};classteacher:virtualpublicpeople{public:teacher(intn=0,charnam[30]="",chars[15]="",charo[50]="",chard[30]="",inta=0,charj[50]="",doublesa=0):people(n,nam,s,o,d,a),salary(sa){strcpy(job,j);} charjob[50]; doublesalary; friendistream&operator>>(istream&is,teacher&tea)//重载">>"运算符函数声明 {is>>tea.num;is.getline(,30,'\n');//使其能够读入字符串中的空格is>>tea.sex;is>>tea.major_or_department;is>>tea.date;is>>tea.age;is>>tea.job; is>>tea.salary; returnis;//退出函数 }friendostream&operator<<(ostream&os,teacher&tea)//重载"<<"运算符函数声明{os<<tea.num<<'\n'; os<<<<'\n'; os<<tea.sex<<'\n'; os<<tea.major_or_department<<'\n'; os<<tea.date<<'\n'; os<<tea.age<<'\n'; os<<tea.job<<'\n'; os<<tea.salary<<'\n'; returnos;//退出函数}voidAddData() {system("cls"); cout<<"请输入教工号:"; cin>>num; for(intk=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_or_department; cout<<"请输入教师出生时刻:"; cin>>date; cout<<"请输入教师年龄:"; cin>>age; cout<<"请输入教师职称(如教授/副教授/讲师):"; cin>>job; cout<<"请输入教师工资:"; cin>>salary; try//处理教师工资合法性 {if(salary<0) {throwsalary; } } catch(double) { cout<<"输入有误,请重新输入"<<endl; main();}}voidDisplayData() { cout<<"******************************"<<endl; cout<<"教工号"<<""<<"姓名"<<""<<"性不"<<""<<"工作部门"<<""<<"出生时刻"<<""<<"年龄"<<""<<"职称"<<""<<"工资"<<endl; cout<<"******************************"<<endl; cout<<num<<"\t"<<name<<"\t"<<sex<<"\t"<<major_or_department<<"\t"<<date<<"\t"<<age<<"\t"<<job<<"\t"<<salary<<endl; cout<<"******************************"<<endl;}voidsave(ofstream&outf) {outf<<"教工号"<<""<<"姓名"<<""<<"性不"<<""<<"工作部门"<<""<<"出生时刻"<<""<<"年龄"<<""<<"职称"<<""<<"工资"<<endl; outf<<num<<"\t"<<name<<"\t"<<sex<<"\t"<<major_or_department<<"\t"<<date<<"\t"<<age<<"\t"<<job<<"\t"<<salary<<endl; } voidload(ifstream&inf) { inf>>num>>name>>sex>>major_or_department>>date>>age>>job>>salary; }}tea[10];template<typenameQ>QMax(Q*x,intlen){ Qmax=x[0];for(inti=1;i<len;i++) max=max>x[i]?max:x[i]; returni;}voidTAddData()//对教师类对象的添加功能函数{tea[T].AddData();for(inti=0;i<10;i++){ if(i!=T&&tea[T].num==tea[i].num) { cout<<"输入教工号重复,请重新输入!"<<endl; main(); }}cout<<"添加记录成功!"<<endl;tea[T].DisplayData(); T++;}voidTDeleteData()//对教师类对象的删除功能函数{ intn; if(T==0) cout<<"没有可删除的记录!"<<endl; else { cout<<"请输入10以内的教工号:"; cin>>n; for(inti=0;i<T;i++) if(tea[i].num==n) for(;i<T;i++) tea[i]=tea[i+1]; T--; cout<<"成功删除记录!"<<endl; }}voidTUpdateData()//对教师类对象的修改功能函数{ intn; if(T==0) cout<<"没有可删除的记录!"<<endl; else{ cout<<"请输入10以内的教工号:"; cin>>n; for(inti=0;i<T;i++) if(tea[i].num==n) { cout<<"原有的记录:"<<endl; tea[i].DisplayData(); cout<<"请输入新的记录:"<<endl; cout<<"请输入教师职称(如教授/副教授/讲师):"; cin>>tea[i].job; cout<<"请输入教师工资:"; cin>>tea[i].salary; cout<<"新的记录:"<<endl; tea[i].DisplayData(); } }}voidTSearchData_num()//按教工号查询教师类对象{ intn; cout<<"请输入10以内的教工号:"; cin>>n; for(inti=0;i<T;i++) if(tea[i].num==n) { tea[i].DisplayData(); i=T; } if(i==T) { cout<<"查询的记录不存在,请重新输入!"<<endl; TSearchData_num(); }}voidTSearchData_nam()//按姓名查询教师类对象 { charnam_s[30]; cout<<"请输入教师名字:"<<endl; cin>>nam_s; for(intj=0;j<T;j++) if(strcmp(tea[j].name,nam_s)==0) { tea[j].DisplayData(); j=T; } if(j==T) { cout<<"查询的记录不存在,请重新输入!"<<endl; TSearchData_nam(); }}voidTSearchData_sex()//按性不查询教师类对象{ charsex_s[15]; cout<<"请输入教师性不:"<<endl; cin>>sex_s; for(intp=0;p<T;p++) if(strcmp(tea[p].sex,sex_s)==0) { tea[p].DisplayData(); p=T; } if(p==T) { cout<<"查询的记录不存在,请重新输入!"<<endl; TSearchData_sex(); }}voidTFindMaxData()//对教师类对象的最高工资查询功能函数{ intnu; doublet[10]; for(inta=0;a<T;a++) t[a]=tea[a].salary; nu=Max(t,T); tea[nu-1].DisplayData();}voidTDisplayData()//对教师类对象按教工号升序排序打印功能函数{ for(inti=1;i<11;i++) { for(intc=0;c<T;c++) { if(tea[c].num==i) { tea[c].DisplayData(); } } }}voidTsave()//对教师类对象的保存功能函数{ ofstreamoutf("c:\\teacher.dat",ios::out); for(inti=0;i<T;i++) tea[i].save(outf); outf.close(); cout<<"成功保存记录!"<<endl;}voidTload()//对教师类对象的读取功能函数{ ifstreaminf("c:\\teacher_ext.dat",ios::out); for(inti=0;i<T;i++) tea[i].load(inf); inf.close(); cout<<"成功读取记录!"<<endl; cout<<"所有教师记录:"<<endl; for(i=0;i<T;i++) tea[i].DisplayData();}classstudent:virtualpublicpeople{public:student(intn=0,charnam[30]="",chars[15]="",charo[50]="",chard[15]="",inta=0,intc=0,inte=0,intm=0):people(n,nam,s,o,d,a),score_chinese(c),score_english(e),score_mathematices(m){} intscore_chinese; intscore_english; intscore_mathematices; friendistream&operator>>(istream&is,student&stu)//重载">>"运算符函数声明 {is>>stu.num; is.getline(,30,'\n');//使其能够读入字符串中的空格is>>stu.sex; is>>stu.major_or_department; is>>stu.date; is>>stu.age; is>>stu.score_chinese; is>>stu.score_english; is>>stu.score_mathematices; returnis;//退出函数 } friendostream&operator<<(ostream&os,student&stu)//重载"<<"运算符函数声明 {os<<stu.num<<'\n'; os<<<<'\n'; os<<stu.sex<<'\n'; os<<stu.major_or_department<<'\n'; os<<stu.date<<'\n'; os<<stu.age<<'\n'; os<<stu.score_chinese<<'\n'; os<<stu.score_english<<'\n'; os<<stu.score_mathematices<<'\n'; returnos;//退出函数 }voidAddData(){system("cls"); cout<<"请输入学号:"; cin>>num; for(intk=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_or_department; cout<<"请输入学生出生时刻:"; cin>>date; cout<<"请输入学生年龄:"; cin>>age; cout<<"请输入学生语英数三科成绩:"; cin>>score_chinese; cin>>score_english; cin>>score_mathematices; } voidDisplayData() { cout<<"**************************************"<<endl; cout<<"学号"<<""<<"姓名"<<""<<"性不"<<""<<"专业"<<""<<"出生时刻"<<""<<"年龄"<<""<<"语文成绩"<<""<<"英语成绩"<<""<<"数学成绩"<<endl; cout<<"**************************************"<<endl; cout<<num<<"\t"<<name<<"\t"<<sex<<"\t"<<major_or_department<<"\t"<<date<<"\t"<<age<<"\t"<<score_chinese<<"\t"<<score_english<<"\t"<<score_mathematices<<endl; cout<<"**************************************"<<endl; } voidsave(ofstream&outf) {outf<<"学号"<<""<<"姓名"<<""<<"性不"<<""<<"专业"<<""<<"出生时刻"<<""<<"年龄"<<""<<"语文成绩"<<""<<"英语成绩"<<""<<"数学成绩"<<endl; outf<<num<<"\t"<<name<<"\t"<<sex<<"\t"<<major_or_department<<"\t"<<date<<"\t"<<age<<"\t"<<score_chinese<<"\t"<<score_english<<"\t"<<score_mathematices<<endl; }voidload(ifstream&inf){inf>>num>>name>>sex>>major_or_department>>date>>age>>score_chinese>>score_english>>score_mathematices;}}stu[10];voidSAddData()//对学生类对象的添加功能函数{{stu[S].AddData();for(inti=0;i<10;i++){ if(i!=S&&stu[S].num==stu[i].num) { cout<<"输入学号重复,请重新输入!"<<endl;main(); }}cout<<"添加记录成功!"<<endl;stu[S].DisplayData(); S++;}}voidSDeleteData()//对学生类对象的删除功能函数{ intn; if(S==0) cout<<"没有可删除的记录!"<<endl; else { cout<<"请输入10以内的学号:"; cin>>n; for(inti=0;i<S;i++) if(stu[i].num==n) for(;i<S;i++) stu[i]=stu[i+1]; S--; cout<<"成功删除记录!"<<endl; }}voidSUpdateData()//对学生类对象的修改功能函数{intn; if(S==0) cout<<"没有可删除的记录!"<<endl; else {cout<<"请输入10以内的学号:"; cin>>n; for(inti=0;i<S;i++) if(stu[i].num==n) { cout<<"原有的记录:"<<endl; stu[i].DisplayData(); cout<<"请输入新的记录:"<<endl; cout<<"请输入语英数成绩:"; cin>>stu[i].score_chinese; cin>>stu[i].score_english; cin>>stu[i].score_mathematices; cout<<"新的记录:"<<endl; stu[i].DisplayData(); } }}voidSSearchData_num()//按学号查询学生类对象{ intn; cout<<"请输入10以内的学号:"; cin>>n; for(inti=0;i<S;i++) if(stu[i].num==n) { stu[i].DisplayData(); i=S; } if(i==S) { cout<<"查询的记录不存在,请重新输入!"<<endl; SSearchData_num(); }}voidSSearchData_nam()//按姓名查询学生类对象 { charnam_s[15]; cout<<"请输入学生名字:"<<endl; cin>>nam_s; for(intj=0;j<S;j++) if(stu[j].name==nam_s) {stu[j].DisplayData(); j=S; } if(j==S) { cout<<"查询的记录不存在,请重新输入!"<<endl; SSearchData_nam(); }}voidSSearchData_sex()//按性不查询学生类对象{ charsex_s[15]; cout<<"请输入学生性不:"<<endl; cin>>sex_s; for(intp=0;p<S;p++) if(stu[p].sex==sex_s) { stu[p].DisplayData(); p=S; } if(p==S) { cout<<"查询的记录不存在,请重新输入!"<<endl; SSearchData_sex(); }}voidSFindMaxData()//对学生类对象的最高英语成绩查询功能函数{ intnu; doublet[10]; for(inta=0;a<S;a++) t[a]=stu[a].score_english; nu=Max(t,S); stu[nu-1].DisplayData();}voidSDisplayData()//对学生类对象按学号升序排序打印功能函数{ for(inti=1;i<11;i++) { for(intc=0;c<S;c++) { if(stu[c].num==i) { stu[c].DisplayData(); } } }}voidSsave()//对学生类对象的保存功能函数{ ofstreamoutf("c:\\student.dat",ios::out); for(inti=0;i<S;i++) stu[i].save(outf); outf.close(); cout<<"成功保存记录!"<<endl;}voidSload()//对学生类对象的读取功能函数{ ifstreaminf("c:\\student_ext.dat",ios::out); for(inti=0;i<S;i++) stu[i].load(inf); inf.close(); cout<<"成功读取记录!"<<endl; cout<<"所有学生记录:"<<endl; for(i=0;i<S;i++) stu[i].DisplayData();}voidShowmenu(){ cout<<"************欢迎进入人员信息治理系统************"<<endl; cout<<"**1.添加数据**"<<endl; cout<<"**2.删除数据**"<<endl; cout<<"**3.修改数据**"<<endl; cout<<"**4.查询记录**"<<endl; cout<<"**5.英语成绩最高学生查询**"<<endl; cout<<"**6.工资最高教师查询**"<<endl; cout<<"**7.显示全部人员记录**"<<endl; cout<<"**8.保存数据**"<<endl; cout<<"**9.读取数据**"<<endl; cout<<"**10.退出系统**"<<endl; cout<<"************************************"<<endl;}voidMenu(){ cout<<"**********请输入操作对象***************"<<endl; cout<<"**1.教师**"<<endl; cout<<"**2.学生**"<<endl; cout<<"**3.退出**"<<endl; cout<<"********************************"<<endl; }voidMenu1(){system("cls"); cout<<"***********请输入操作对象***************"<<endl; cout<<"**1.按教工号/学号查询**"<<endl; cout<<"**2.按姓名查询**"<<endl; cout<<"**3.按性不查询**"<<endl; cout<<"**4.退出**"<<endl; cout<<"*********************************"<<endl;}voidAddData()//添加功能函数{system("cls"); inti=1; while(i) { intchoice; Menu(); cin>>choice; switch(choice) { case1: TAddData();break; case2: SAddData();break; case3: i=0;system("cls");break; default: cout<<"输入有误,请重新输入!"<<endl; } }}voidDeleteData()//删除功能函数{system("cls"); inti=1; while(i) { intchoice; Menu(); cin>>choice; switch(choice) { case1: TDeleteData();break; case2: SDeleteData();break; case3: i=0;system("cls");break; default: cout<<"输入有误,请重新输入!"<<endl; } }}voidUpdateData()//修改功能函数{system("cls"); inti=1; while(i) { intchoice; Menu(); cin>>choice; switch(choice) { case1: TUpdateData();break; case2: SUpdateData();break; case3: i=0;system("cls");break; default: cout<<"输入有误,请重新输入!"<<endl; } } }voidSearchData()//查询功能函数 {system("cls"); inti=1; while(i) { intchoice; Menu(); cin>>choice; switch(choice) { case1: { intchoice1; Menu1(); cin>>choice1; switch(choice1) { case1: TSearchData_num();break; case2: TSearchData_nam();break; case3: TSearchData_sex();break; case4: i=0;system("cls");break; default: cout<<"输入有误,请重新输入!"<<endl; } }break; case2: { intchoice1; Menu1(); cin>>choice1; switch(choice1) { case1: SSearchData_num();break; case2: SSearchData_nam();break; case3: SSearchData_sex();break; case4: i=0;system("cls");break; default: cout<<"输入有误,请重新输入!"<<endl; } }break; case3: i=0;system("cls");break; default: cout<<"输入有误,请重新输入!"<<endl; } }}voidFindMaxDataS()//英语成绩最高学生查询函数{system("cls");SFindMaxData();}voidFindMaxDataT()//工资最高教师查询函数{system("cls"); TFindMaxData();}voidDisplayData()//显示全部人员记录函数{system("cls"); SDisplayData(); TDisplayData();}voidsave()//保存功能函数 {system("cls");inti=1; while(i) { intchoice; Menu(); cin>>choice; switch(choice) { case1: Tsave();break; case2: Ssave();break; case3: i=0;break; default: cout<<"输入有误,请重新输入!"<<endl; } } }voidload()//读取功能函数 {system("cls"); inti=1; while(i) {intchoice; Menu(); cin>>choice; switch(choice) { case1: Tload();break; case2: Sload();break; case3: i=0;break; default: cout<<"输入有误,请重新输入!"<<endl; } }}intmain(){ intchoice; while(1) { Showmenu(); cin>>choice; switch(choice) { case1://添加 AddData();break; case2://删除 DeleteData();break; case3://修改 UpdateData();break; case4://查询 SearchData();break; case5://英语成绩最高学生查询 FindMaxDataS();break; case6://工资最高教师查询 FindMaxDataT();break; case7://显示全部人员记录 DisplayData();break; case8://保存数据 save();break; case9://读取数据 load();break; case10: exit(1); default: cout<<"输入有误,请重新输入!"<<endl; } }return0;}一、设计目的课程设计是学习C++程序设计的一个重要环节。通过课程设计的综合训练,能够使学生在学习理论知识并在实验中进行了一系列差不多训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用VisualC++6.0以后,通过使用VisualC++6.0的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。二、设计内容设计一个学校人员信息治理系统,能够实现对学校人事的信息治理。差不多功能要求如下:(1)建立人员信息数据。包括学号(教工号)、姓名、性不、专业(工作系不部门)、出生时刻、年龄。其中, 1)对学生,还包括3门课的成绩(Chinese,English,Mathematics)。三门课的成绩为int型数据。 2)对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double型数据。(2)使用继承的方法构造3个类,对相应的对象放置10个学生(教师)信息。People类——虚基类Student类——派生类Teacher类——派生类(3)数据差不多功能:增加数据:AddData()函数。删除数据:DeleteData()函数。依照学号(教工号),删除该人员的记录。修改数据:UpdateData()函数。对学生,依照学号,能够修改3门课的成绩;对教师,依照教工号,能够修改“职称”和“工资”。查找功能:1)SearchData()函数。要求能够依照“学号(教工号)”、“姓名”、“性不”三项实现查询,并能在屏幕上显示满足条件的数据记录。2)FindMaxData()函数。对学生,查找“English”课程成绩最高的学生记录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采纳函数模板实现。显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。同时按学生(教工号)升序打印。一、设计目的课程设计是学习C++程序设计的一个重要环节。通过课程设计的综合训练,能够使学生在学习理论知识并在实验中进行了一系列差不多训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用VisualC++6.0以后,通过使用VisualC++6.0的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。二、设计内容设计一个学校人员信息治理系统,能够实现对学校人事的信息治理。差不多功能要求如下:(1)建立人员信息数据。包括学号(教工号)、姓名、性不、专业(工作系不部门)、出生时刻、年龄。其中, 1)对学生,还包括3门课的成绩(Chinese,English,Mathematics)。三门课的成绩为int型数据。 2)对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double型数据。(2)使用继承的方法构造3个类,对相应的对象放置10个学生(教师)信息。People类——虚基类Student类——派生类Teacher类——派生类(3)数据差不多功能:增加数据:AddData()函数。删除数据:DeleteData()函数。依照学号(教工号),删除该人员的记录。修改数据:UpdateData()函数。对学生,依照学号,能够修改3门课的成绩;对教师,依照教工号,能够修改“职称”和“工资”。查找功能:1)SearchData()函数。要求能够依照“学号(教工号)”、“姓名”、“性不”三项实现查询,并能在屏幕上显示满足条件的数据记录。2)FindMaxData()函数。对学生,查找“English”课程成绩最高的学生记录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采纳函数模板实现。显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。同时按学生(教工号)升序打印。一、设计目的课程设计是学习C++程序设计的一个重要环节。通过课程设计的综合训练,能够使学生在学习理论知识并在实验中进行了一系列差不多训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用VisualC++6.0以后,通过使用VisualC++6.0的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。二、设计内容设计一个学校人员信息治理系统,能够实现对学校人事的信息治理。差不多功能要求如下:(1)建立人员信息数据。包括学号(教工号)、姓名、性不、专业(工作系不部门)、出生时刻、年龄。其中, 1)对学生,还包括3门课的成绩(Chinese,English,Mathematics)。三门课的成绩为int型数据。 2)对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double型数据。(2)使用继承的方法构造3个类,对相应的对象放置10个学生(教师)信息。People类——虚基类Student类——派生类Teacher类——派生类(3)数据差不多功能:增加数据:AddData()函数。删除数据:DeleteData()函数。依照学号(教工号),删除该人员的记录。修改数据:UpdateData()函数。对学生,依照学号,能够修改3门课的成绩;对教师,依照教工号,能够修改“职称”和“工资”。查找功能:1)SearchData()函数。要求能够依照“学号(教工号)”、“姓名”、“性不”三项实现查询,并能在屏幕上显示满足条件的数据记录。2)FindMaxData()函数。对学生,查找“English”课程成绩最高的学生记录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采纳函数模板实现。显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。同时按学生(教工号)升序打印。一、设计目的课程设计是学习C++程序设计的一个重要环节。通过课程设计的综合训练,能够使学生在学习理论知识并在实验中进行了一系列差不多训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用VisualC++6.0以后,通过使用VisualC++6.0的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。二、设计内容设计一个学校人员信息治理系统,能够实现对学校人事的信息治理。差不多功能要求如下:(1)建立人员信息数据。包括学号(教工号)、姓名、性不、专业(工作系不部门)、出生时刻、年龄。其中, 1)对学生,还包括3门课的成绩(Chinese,English,Mathematics)。三门课的成绩为int型数据。 2)对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double型数据。(2)使用继承的方法构造3个类,对相应的对象放置10个学生(教师)信息。People类——虚基类Student类——派生类Teacher类——派生类(3)数据差不多功能:增加数据:AddData()函数。删除数据:DeleteData()函数。依照学号(教工号),删除该人员的记录。修改数据:UpdateData()函数。对学生,依照学号,能够修改3门课的成绩;对教师,依照教工号,能够修改“职称”和“工资”。查找功能:1)SearchData()函数。要求能够依照“学号(教工号)”、“姓名”、“性不”三项实现查询,并能在屏幕上显示满足条件的数据记录。2)FindMaxData()函数。对学生,查找“English”课程成绩最高的学生记录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采纳函数模板实现。显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。同时按学生(教工号)升序打印。一、设计目的课程设计是学习C++程序设计的一个重要环节。通过课程设计的综合训练,能够使学生在学习理论知识并在实验中进行了一系列差不多训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用VisualC++6.0以后,通过使用VisualC++6.0的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。二、设计内容设计一个学校人员信息治理系统,能够实现对学校人事的信息治理。差不多功能要求如下:(1)建立人员信息数据。包括学号(教工号)、姓名、性不、专业(工作系不部门)、出生时刻、年龄。其中, 1)对学生,还包括3门课的成绩(Chinese,English,Mathematics)。三门课的成绩为int型数据。 2)对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double型数据。(2)使用继承的方法构造3个类,对相应的对象放置10个学生(教师)信息。People类——虚基类Student类——派生类Teacher类——派生类(3)数据差不多功能:增加数据:AddData()函数。删除数据:DeleteData()函数。依照学号(教工号),删除该人员的记录。修改数据:UpdateData()函数。对学生,依照学号,能够修改3门课的成绩;对教师,依照教工号,能够修改“职称”和“工资”。查找功能:1)SearchData()函数。要求能够依照“学号(教工号)”、“姓名”、“性不”三项实现查询,并能在屏幕上显示满足条件的数据记录。2)FindMaxData()函数。对学生,查找“English”课程成绩最高的学生记录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采纳函数模板实现。显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。同时按学生(教工号)升序打印。一、设计目的课程设计是学习C++程序设计的一个重要环节。通过课程设计的综合训练,能够使学生在学习理论知识并在实验中进行了一系列差不多训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用VisualC++6.0以后,通过使用VisualC++6.0的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。二、设计内容设计一个学校人员信息治理系统,能够实现对学校人事的信息治理。差不多功能要求如下:(1)建立人员信息数据。包括学号(教工号)、姓名、性不、专业(工作系不部门)、出生时刻、年龄。其中, 1)对学生,还包括3门课的成绩(Chinese,English,Mathematics)。三门课的成绩为int型数据。 2)对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double型数据。(2)使用继承的方法构造3个类,对相应的对象放置10个学生(教师)信息。People类——虚基类Student类——派生类Teacher类——派生类(3)数据差不多功能:增加数据:AddData()函数。删除数据:DeleteData()函数。依照学号(教工号),删除该人员的记录。修改数据:UpdateData()函数。对学生,依照学号,能够修改3门课的成绩;对教师,依照教工号,能够修改“职称”和“工资”。查找功能:1)SearchData()函数。要求能够依照“学号(教工号)”、“姓名”、“性不”三项实现查询,并能在屏幕上显示满足条件的数据记录。2)FindMaxData()函数。对学生,查找“English”课程成绩最高的学生记录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采纳函数模板实现。显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。同时按学生(教工号)升序打印。一、设计目的课程设计是学习C++程序设计的一个重要环节。通过课程设计的综合训练,能够使学生在学习理论知识并在实验中进行了一系列差不多训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用VisualC++6.0以后,通过使用VisualC++6.0的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。二、设计内容设计一个学校人员信息治理系统,能够实现对学校人事的信息治理。差不多功能要求如下:(1)建立人员信息数据。包括学号(教工号)、姓名、性不、专业(工作系不部门)、出生时刻、年龄。其中, 1)对学生,还包括3门课的成绩(Chinese,English,Mathematics)。三门课的成绩为int型数据。 2)对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double型数据。(2)使用继承的方法构造3个类,对相应的对象放置10个学生(教师)信息。People类——虚基类Student类——派生类Teacher类——派生类(3)数据差不多功能:增加数据:AddData()函数。删除数据:DeleteData()函数。依照学号(教工号),删除该人员的记录。修改数据:UpdateData()函数。对学生,依照学号,能够修改3门课的成绩;对教师,依照教工号,能够修改“职称”和“工资”。查找功能:1)SearchData()函数。要求能够依照“学号(教工号)”、“姓名”、“性不”三项实现查询,并能在屏幕上显示满足条件的数据记录。2)FindMaxData()函数。对学生,查找“English”课程成绩最高的学生记录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采纳函数模板实现。显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。同时按学生(教工号)升序打印。一、设计目的课程设计是学习C++程序设计的一个重要环节。通过课程设计的综合训练,能够使学生在学习理论知识并在实验中进行了一系列差不多训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用VisualC++6.0以后,通过使用VisualC++6.0的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。二、设计内容设计一个学校人员信息治理系统,能够实现对学校人事的信息治理。差不多功能要求如下:(1)建立人员信息数据。包括学号(教工号)、姓名、性不、专业(工作系不部门)、出生时刻、年龄。其中, 1)对学生,还包括3门课的成绩(Chinese,English,Mathematics)。三门课的成绩为int型数据。 2)对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double型数据。(2)使用继承的方法构造3个类,对相应的对象放置10个学生(教师)信息。People类——虚基类Student类——派生类Teacher类——派生类(3)数据差不多功能:增加数据:AddData()函数。删除数据:DeleteData()函数。依照学号(教工号),删除该人员的记录。修改数据:UpdateData()函数。对学生,依照学号,能够修改3门课的成绩;对教师,依照教工号,能够修改“职称”和“工资”。查找功能:1)SearchData()函数。要求能够依照“学号(教工号)”、“姓名”、“性不”三项实现查询,并能在屏幕上显示满足条件的数据记录。2)FindMaxData()函数。对学生,查找“English”课程成绩最高的学生记录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采纳函数模板实现。显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。同时按学生(教工号)升序打印。一、设计目的课程设计是学习C++程序设计的一个重要环节。通过课程设计的综合训练,能够使学生在学习理论知识并在实验中进行了一系列差不多训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用VisualC++6.0以后,通过使用VisualC++6.0的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。二、设计内容设计一个学校人员信息治理系统,能够实现对学校人事的信息治理。差不多功能要求如下:(1)建立人员信息数据。包括学号(教工号)、姓名、性不、专业(工作系不部门)、出生时刻、年龄。其中, 1)对学生,还包括3门课的成绩(Chinese,English,Mathematics)。三门课的成绩为int型数据。 2)对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double型数据。(2)使用继承的方法构造3个类,对相应的对象放置10个学生(教师)信息。People类——虚基类Student类——派生类Teacher类——派生类(3)数据差不多功能:增加数据:AddData()函数。删除数据:DeleteData()函数。依照学号(教工号),删除该人员的记录。修改数据:UpdateData()函数。对学生,依照学号,能够修改3门课的成绩;对教师,依照教工号,能够修改“职称”和“工资”。查找功能:1)SearchData()函数。要求能够依照“学号(教工号)”、“姓名”、“性不”三项实现查询,并能在屏幕上显示满足条件的数据记录。2)FindMaxData()函数。对学生,查找“English”课程成绩最高的学生记录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采纳函数模板实现。显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。同时按学生(教工号)升序打印。一、设计目的课程设计是学习C++程序设计的一个重要环节。通过课程设计的综合训练,能够使学生在学习理论知识并在实验中进行了一系列差不多训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用VisualC++6.0以后,通过使用VisualC++6.0的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。二、设计内容设计一个学校人员信息治理系统,能够实现对学校人事的信息治理。差不多功能要求如下:(1)建立人员信息数据。包括学号(教工号)、姓名、性不、专业(工作系不部门)、出生时刻、年龄。其中, 1)对学生,还包

温馨提示

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

评论

0/150

提交评论