学校人员信息管理系统.docx_第1页
学校人员信息管理系统.docx_第2页
学校人员信息管理系统.docx_第3页
学校人员信息管理系统.docx_第4页
学校人员信息管理系统.docx_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1.学校人员信息管理系统#include#include#include#include#inlcudeUsing namespace std;Int main();Static int T=0;/用于标记老师类对象的个数Static int S=0;/用于标记学生类对象的个数Class people/people基类Public: Int num; Char name30; Char sex15; Char major_or_department50; Char date30; Int age; People(int n,char nam30,char s15,char o50,char d30,int a) Num=n; Strcpy(name,nam); Strcpy(sex,s); Strcpy(major_or_department,o); Strcpy(date,d); Age=a; ;Class teacher:virtual public peoplePublic: Teacher(int n=0,char nam30=”,char s15=”,char o50=”,char d30=”,int a=0,char j50=”,double sa=0):people(n,nam,s,o,d,a),salary(sa)strcpy(job,j); Char job50; Double salary; Friend istream &operator(istream&is,teacher&tea)/重载运算符函数声明 Istea,num; Is.getline(,30,n);/使其能够读入字符串中的空格 Istea.sex; Istea.major_or_department; Istea.date; Istea.age; Istea.job; Istea.salary; Return is;/退出函数friend ostream &operator( ostream &os,teacher &tea) /重载运算符函数声明 ostea.numn; n; ostea.sexn; ostea.major_or_departmentn; ostea.daten; ostea.agen;ostea.jobn;ostea.salaryn;return os; /退出函数 Void AddDate() system(“cls”); Coutnum; For(int k=1;k11;k+) If(num=k) K=11; If(k=11) Cout”请输入10以内的教工号”endl; AddDate();/添加函数; Coutname; Coutsex; Coutdate; Coutmajor_or_department;coutage;coutjob;coutsalary;try /处理教师工资合法性if (salary0)throw salary;catch(double ) Cout”输入有误,请重新输入”endl; Main(); void DisplayData()/如何实现cout教工号 姓名 性别 工作部门 出生时间 年龄 职称 工资endl;coutnumtnametsextmajor_or_departmenttdatetagetjobtsalaryendl;void save(ofstream &outf)/same questionoutf教工号 姓名 性别 工作部门 出生时间 年龄 职称 工资endl;outfnumtnametsextmajor_or_departmenttdatetagetjobtsalarynumnamesexmajor_or_departmentdateagejobsalary;tea10;TemplateQ Max(Q*x,int len)Q max=x0;For(int i=1;Ixi?max:xi;Return i;void TAddData()/对教师类对象的添加功能函数teaT.AddData();for(int i=0;i10;i+) If(i!=T&teaT.num=teai.num) Cout”输入教工号重复,请重复输入!”endl; Main();Cout”添加记录成功!”endl;TeaT.DisplayData(); T+;Void TDeleteData()/对教师类对象的删除功能函数 Int n; If(T=0) Cout”没有可以删除的记录!”endl;Else Coutn; for(int i=0;iT;i+)if(teai.num=n) For(;iT;i+)teai=teai+1;T-;cout成功删除记录!endl;Void TUpdateData()/对教师类对象的修改功能函数 Int n; If(T=0) Cout”没有可以删除的记录!”endl; Else Coutn; For(int i=0;iT,i+) If(teai.num=n) Cout”原有的记录:”endl; Teai.DisplayData(); Cout”请输入新的记录:”endl;coutteai.job; coutteai.salary; cout新的记录:endl; teai.DisplayData();void TSearchData_num()/按教工号查询教师类对象int n;coutn;for(int i=0;iT;i+)if(teai.num=n)teai.DisplayData();i=T;if(i=T)cout查询的记录不存在,请重新输入!endl;TSearchData_num();void TSearchData_nam()/按姓名查询教师类对象char nam_s30;cout请输入教师名字:nam_s;for(int j=0;jT;j+)if(strcmp(,nam_s)=0)teaj.DisplayData();j=T;if(j=T)cout查询的记录不存在,请重新输入!endl;TSearchData_nam();void TSearchData_sex()/按性别查询教师类对象char sex_s15;cout请输入教师性别:sex_s;for(int p=0;pT;p+)if(strcmp(teap.sex,sex_s)=0)teap.DisplayData();p=T;if(p=T)cout查询的记录不存在,请重新输入!endl;TSearchData_sex();void TFindMaxData()/对教师类对象的最高工资查询功能函数int nu;double t10;for(int a=0;aT;a+)ta=teaa.salary;nu=Max(t,T);teanu-1.DisplayData(); Void TDisplayData()/对教师类对象按教工号升序排列打印功能函数 For(int i=1;i11;i+) for(int c=0;cT;c+)if(teac.num=i)teac.DisplayData();Void Tsave()/对教师类对象的保存功能函数 Ofstream outf(“c:teacher.dat,ios:out);for(int i=0;iT;i+)teai.save(outf);outf.close();cout成功保存记录!endl;void Tload()/对教师类对象的读取功能函数 ifstream inf(c:teacher_ext.dat,ios:out);for(int i=0;iT;i+)teai.load(inf);inf.close();cout成功读取记录!endl;cout所有教师记录:endl;for(i=0;i(istream &is,student &stu)/重载运算符函数声明 Isstu.num; Is.getline(,30,n); /使其能够读入字符串中的空格 isstu.sex; isstu.major_or_department; isstu.date; isstu.age; isstu.score_chinese; isstu.score_english; isstu.score_mathematices; return is; /退出函数Friend ostream&operator(ostream&os.student&stu)/重载”运算符函数声明 osstu.numn; n; osstu.sexn; osstu.major_or_departmentn; osstu.daten; osstu.agen; osstu.score_chinesen; osstu.score_englishn; osstu.score_mathematicesn; return os; /退出函数void AddData() system(cls);coutnum;for(int k=1;k11;k+)if(num=k)k=11;if(k=11)cout请输入10以内的学号endl;AddData();coutname;coutsex;coutmajor_or_department;coutdate;coutage;coutscore_chinese;cinscore_english;cinscore_mathematices;VoidDisplayData()Cout学号 姓名 性别 专业 出生时间 年龄 语文成绩 英语成绩 数学成绩endl;coutnumtnametsextmajor_or_departmenttdatetagetscore_chinesetscore_englishtscore_mathematicesendl;Void save(ofstream&outf)outf”学号” “”姓名” 性别 专业 出生时间 年龄 语文成绩 英语成绩 数学成绩endl;outfnumtnametsextmajor_or_departmenttdatetagetscore_chinesetscore_englishtscore_mathematicesnumnamesexmajor_or_departmentdateagescore_chinesescore_englishscore_mathematices;stu10;void SAddData()/对学生类对象的添加功能函数stuS.AddData();for(int i=0;i10;i+)if(i!=S&stuS.num=stui.num)cout输入学号重复,请重新输入!endl; main();cout添加记录成功!endl;stuS.DisplayData();S+;void SDeleteData()/对学生类对象的删除功能函数int n;if(S=0)cout没有可删除的记录!endl;elsecoutn;for(int i=0;iS;i+)if(stui.num=n) for(;iS;i+)stui=stui+1;S-;cout成功删除记录!endl;void SUpdateData()/对学生类对象的修改功能函数 int n;if(S=0)cout没有可删除的记录!endl;elsecoutn;for(int i=0;iS;i+)if(stui.num=n)cout原有的记录:endl;stui.DisplayData();cout请输入新的记录:endl;coutstui.score_chinese;cinstui.score_english;cinstui.score_mathematices;cout新的记录:endl;stui.DisplayData();void SSearchData_num()/按学号查询学生类对象int n;coutn;for(int i=0;iS;i+)if(stui.num=n)stui.DisplayData();i=S;if(i=S)cout查询的记录不存在,请重新输入!endl;SSearchData_num();void SSearchData_nam()/按姓名查询学生类对象char nam_s15;cout请输入学生名字:nam_s;for(int j=0;jS;j+)if(=nam_s) stuj.DisplayData();j=S;if(j=S)cout查询的记录不存在,请重新输入!endl;SSearchData_nam();void SSearchData_sex()/按性别查询学生类对象char sex_s15;cout请输入学生性别:sex_s;for(int p=0;pS;p+)if(stup.sex=sex_s)stup.DisplayData();p=S;if(p=S)cout查询的记录不存在,请重新输入!endl;SSearchData_sex();void SFindMaxData()/对学生类对象的最高英语成绩查询功能函数int nu;double t10;for(int a=0;aS;a+)ta=stua.score_english;nu=Max(t,S);stunu-1.DisplayData();void SDisplayData()/对学生类对象按学号升序排序打印功能函数for(int i=1;i11;i+)for(int c=0;cS;c+)if(stuc.num=i)stuc.DisplayData();void Ssave()/对学生类对象的保存功能函数ofstream outf(c:student.dat,ios:out);for(int i=0;iS;i+)stui.save(outf);outf.close();cout成功保存记录!endl;void Sload()/对学生类对象的读取功能函数ifstream inf(c:student_ext.dat,ios:out);for(int i=0;iS;i+)stui.load(inf);inf.close();cout成功读取记录!endl;cout所有学生记录:endl;for(i=0;iS;i+)stui.DisplayData();void Showmenu() 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; void Menu()cout* * * * * * * * * *请输入操作对象* * * * * * * * * * * * * * *endl;cout* * 1.教师 * *endl; cout* * 2.学生 * *endl; cout* * 3.退出 * *endl; cout* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *endl;void Menu1()system(cls);cout* * * * * * * * * * *请输入操作对象* * * * * * * * * * * * * * *endl;cout* * 1.按教工号/学号查询 * *endl; cout* * 2.按姓名查询 * *endl; cout* * 3.按性别查询 * *endl; cout* * 4.退出 * *endl;cout* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *choice; Switch(choice)Case 1: TAddData(); Break;Case 2:SAddData();Break; Case 3: i=0;system(cls);break;default:cout输入有误,请重新输入!choice;switch(choice)case 1:TDeleteData();break;case 2:SDeleteData();break;case 3:i=0;system(cls);break;default:cout输入有误,请重新输入!choice;switch(choice)case 1:TUpdateData();break;case 2:SUpdateData();break;case 3:i=0;system(cls);break;default:cout输入有误,请重新输入!choice;switch(choice)case 1:int choice1;Menu1();cinchoice1;switch(choice1)case 1:TSearchData_num();break;case 2:TSearchData_nam();break;case 3:TSearchData_sex();break;case 4: i=0;system(cls);break;default:cout输入有误,请重新输入!choice1;switch(choice1)case 1:SSearchData_num();break;case 2:SSearchData_nam();break;case 3:SSearchData_sex();break;case 4: i=0;system(cls);break;default:cout输入有误,请重新输入!endl;break;case 3:i=0;system(cls);break;default:cout输入有误,请重新输入!choice;switch(choice)case 1:Tsave();break;case 2:Ssave();break;case 3: i=0;break;default:cout输入有误,请重新输入!choice;switch(choice)case 1:Tload();break;case 2:Sload();break;case 3: i=0;break;default:cout输入有误,请重新输入!choice;switch(choice)case 1:/添加AddData();break;case 2:/删除DeleteData();break;case 3:/修改 UpdateData();break;case 4:/查询 SearchData();break;case 5:/英语成绩最高学生查询FindMaxDataS();break;case 6:/工资最高教师查询FindMaxDataT();break;case 7:/显示全部人员记录DisplayData();break;case 8:/保存数据save();break;case 9:/读取数据load();break;case 10:exit(1);default:cout输入有误,请重新输入!endl;return 0;2.进行集合的并、差和交运算#include using namespace std; const int MAX=100; class set public: set(); void input(int d); int length(); int getd(int i); void disp(); set operator+(set s1); set operator-(set s1); set operator*(set s1); set operator=(set s1); protected: int len; int sMAX; ; set:set() len=0; void set:input(int d) len=d; cout输入集合元素d个:; for(int i=0;isi; int set:length() int n=0; while(sn!=0) n+; return n; int set:getd(int i) return 0; void set:disp() for (int i=0;ilen;i+) coutsi ; set set:operator+(set s1) /并运算 for(int i=0;ilen;i+) for(int j=0;js1.len;j+) /在s1.s中选出不相同的 if(si=s1.sj) /选出相同的元素删掉得到s1.s与s不同的元素 for (;js1.

温馨提示

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

评论

0/150

提交评论