C课程设计基于控制台的学校人员管理系统.docx
- 文档编号:18575075
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:21
- 大小:18.41KB
C课程设计基于控制台的学校人员管理系统.docx
《C课程设计基于控制台的学校人员管理系统.docx》由会员分享,可在线阅读,更多相关《C课程设计基于控制台的学校人员管理系统.docx(21页珍藏版)》请在冰点文库上搜索。
C课程设计基于控制台的学校人员管理系统
C课程设计--基于控制台的学校人员管理系统
#include
#include
#include
#include
#include
usingnamespacestd;
//***********************************************************************************************************************
//*****************************定义一个人类***************************************************************************
classPerson
{
protected:
intage;
stringname;
stringsex;
public:
Person(){name="小强";age=19;sex="男";}
Person(stringn){name=n;}
Person(stringn,inta,strings){name=n;age=a;sex=s;}
voidsetname(){cin>>name;}
voidsetsex();
voidsetage();
boolisname(strings){if(name==s)returntrue;elsereturnfalse;}
boolissex(strings){if(sex==s)returntrue;elsereturnfalse;}
boolisage(ints){if(age==s)returntrue;elsereturnfalse;}
boolbiage(inta,intb){if(age>=a&&age<=b)returntrue;elsereturnfalse;}
stringoutname(){returnname;}
stringoutsex(){returnsex;}
intoutage(){returnage;}
virtualvoidshowStatus()=0;
virtualvoidplay()=0;
voidshowPerson();
};
voidPerson:
:
setsex()
{
boolbo=true;
while(bo)
{
stringt[]={"男","女","man","woman"};
cin>>sex;
for(inti=0;i<4;i++)
{
if(sex==t[i]){bo=false;break;}
}
if(bo)cout<<"请输入(男或女;manorwoman)"< } } voidPerson: : setage() { while(true) { boolboo=true; chara[4]; cin>>a; for(inti=0;a[i];i++) { if(! (((int)a[i])>47&&((int)a[i])<58)){cout<<"年龄是纯数字的! \n请重新输入: ";boo=false;break;} } if(boo) {age=atoi(a); if(age>151||age<=0) cout<<"请输入一个大于0小于150的数"< elsebreak; } } } voidPerson: : showPerson() { cout<<"姓名: "< cout<<"年龄: "< cout<<"性别: "< } //*********************************************************************************************************************** //****************************定义一个教师类,从人公有继承*************************************************************** classTeacher: virtualpublicPerson { protected: stringtitle; public: Teacher(): Person(){title="教师";} Teacher(stringn,inta,strings,stringt): Person(n,a,s),title(t){} voidsettitle(){cin>>title;} boolistitle(strings){if(title==s)returntrue;elsereturnfalse;} stringouttitle(){returntitle;} voidshowStatus(); voidplay(); }; voidTeacher: : showStatus(){showPerson();cout<<"职称: "< voidTeacher: : play(){cout< //********************************************************************************************************************** //**********************************定义一个体育成绩类****************************************************************** classTime { public: Time(){hour=0;minute=0;second=0;} Time(ints){second=s;} Time(intm,ints){minute=m;second=s;} Time(inth,intm,ints){hour=h;minute=m;second=s;} Timeoperator+(Time&); intTtoS(); voidcinTime(int&); voidsetTime(); voiddisplay(); protected: inthour; intminute; intsecond; }; intTime: : TtoS(){intc=second+minute*60+hour*3600;returnc;} TimeTime: : operator+(Time&t) { Timec; c.second=c.second+t.second; c.minute=minute+t.minute; c.hour=hour+t.hour; if(c.second>=60) { c.minute++; c.second-=60; if(c.minute>=60) { c.hour++; c.minute-=60; } } returnc; } voidTime: : display() { cout< : right)< (2)< "< (2)< "< (2)< : right); } voidTime: : cinTime(int&time) { while(true) { boolboo=true; chara[3]; cin>>a; for(inti=0;a[i];i++) { if(! (((int)a[i])>47&&((int)a[i])<58)){cout<<"时间是纯数字的! \n请重新输入: ";boo=false;break;} } if(boo) {time=atoi(a); if(time>151||time<0) cout<<"请输入一个小于60的数"< elsebreak; } } } voidTime: : setTime() { cout<<"\n用时多少时: "; cinTime(hour); cout<<"\n用时多少分: "; cinTime(minute); cout<<"\n用时多少秒: "; cinTime(second); if(second>=60) { ++minute; second-=60; } if(minute>=60) { ++hour; minute-=60; } } //********************************************************************************************************************* //****************************定义一个学生的基类,从人公有继承************************************************************** classStu: virtualpublicPerson { protected: intnum; floatsco; stringzy; public: Stu(): Person(){num=10001;sco=99;zy="计算机";} Stu(stringn): Person(n){} Stu(stringn,inta,strings,stringz): Person(n,a,s),zy(z){} Stu(stringn,inta,strings,intnu,stringz,floatsc): Person(n,a,s),num(nu),zy(z),sco(sc){} boolisnum(ints){if(num==s)returntrue;elsereturnfalse;} boolissco(floats){if(sco==s)returntrue;elsereturnfalse;} booliszy(strings){if(zy==s)returntrue;elsereturnfalse;} boolbinum(inta,intb){if(num>=a&&num<=b)returntrue;elsereturnfalse;} boolbisco(inta,intb){if(sco>=a&&sco<=b)returntrue;elsereturnfalse;} intoutnum(){returnnum;} floatoutsco(){returnsco;} stringoutzy(){returnzy;} voidplayname(){cout< voidsetnum(); voidsetsco(); voidsetzy(){cin>>zy;} voidshowStatus(); voidshowStu0(); voidplay(){} }; voidStu: : setnum() { boolbo=true; while(bo) { boolboo=true; chara[4]; cin>>a; for(inti=0;a[i];i++) { if(! (((int)a[i])>47&&((int)a[i])<58)){cout<<"学号是纯数字的! \n请重新输入: ";boo=false;break;} } if(boo){num=atoi(a);bo=false;} } } voidStu: : setsco() { while(true) { chara[3]; cin>>a; if(! (((int)a[0])>47&&((int)a[0])<58||((int)a[1])>47&&((int)a[1])<58||((int)a[2])>47&&((int)a[2])<58)) {} elsesco=atoi(a); if(sco>101||sco<=0) cout<<"请输入一个小于100的数"< elsebreak; } } voidStu: : showStatus() { cout<<"学号: "< showPerson(); cout<<"成绩: "< cout<<"专业: "< } voidStu: : showStu0() { cout<<"学号: "< cout<<"姓名: "< cout<<"年龄: "< cout<<"性别: "< } //********************************************************************************************************************* //*****************************定义一个学生类,从学生基类公有继承********************************************************** classStudent: virtualpublicStu { public: Stumonitor; Timet; stringteacher; staticinttotaltime; staticintsum; staticintaverage; public: Student(): Stu(),monitor(){} Student(stringn,inta,strings,stringz): Stu(n,a,s,z){} Student(stringn,inta,strings,intnu,stringz,floatsc,stringte,stringmon,inth,intmi,intsec): Person(n,a,s),Stu(n,a,s,nu,z,sc),teacher(te),monitor(mon),t(h,mi,sec){} voidsetteacher(){cin>>teacher;} boolisteacher(strings){if(teacher==s)returntrue;elsereturnfalse;} stringoutteacher(){returnteacher;} staticvoidsettotaltime(intt); staticvoidsetsum(ints); staticvoidshowtotaltime(); staticvoidshowsum(); staticvoidsetaverage(); voidplay(); voidshowStudent(); }; intStudent: : totaltime=0; intStudent: : sum=1; intStudent: : average=0; voidStudent: : settotaltime(intt) { totaltime=t; } voidStudent: : setsum(ints) { sum=s; } voidStudent: : showtotaltime() { cout< } voidStudent: : showsum() { cout< } voidStudent: : setaverage() { average=totaltime/sum; cout< } voidStudent: : play() { cout< : left)< monitor.playname(); t.display(); showtotaltime(); showsum(); setaverage(); } voidStudent: : showStudent() { showStatus(); cout<<"导师: "< cout<<"体育成绩: "< cout<<""< t.display(); cout<<"班长: "< cout<<""< monitor.showStu0(); } //********************************************************************************************************************* //***********************定义一个研究生类,从学生类和教师类公有继承********************************************************** classGraduate: publicStudent,publicTeacher { public: floatwage; public: Graduate(): Teacher(),Student(){} Graduate(stringn,inta,strings,stringt,stringz,floatw): Person(n,a,s),Teacher(n,a,s,t),Stu(n,a,s,z),Student(n,a,s,z),wage(w){} voidsetwage(); booliswage(floats){if(wage==s)returntrue;elsereturnfalse;} boolbiwage(inta,intb){if(wage>=a&&wage<=b)returntrue;elsereturnfalse;} intoutwage(){returnwage;} voidplay(); voidshowStatus(); }; voidGraduate: : setwage() { boolbo=true; while(bo) { boolboo=true; chara[10]; cin>>a; for(inti=0;a[i];i++) { if(! (((int)a[i])>47&&((int)a[i])<58)){cout<<"工资是纯数字的! \n请重新输入: ";boo=false;break;} } if(boo){num=atoi(a);bo=false;} } } voidGraduate: : play(){cout< voidGraduate: : showStatus() { Student: : showPerson(); cout<<"专业: "< cout<<"职称: "< cout<<"工资: "< } //********************************************************************************************************************* //*************************************定义全局变量********************************************************* Teacherte[20]={ Teacher("小强",21,"男","教授"), Teacher("大强",25,"女","博士"), Teacher("超强",23,"男","教授"), Teacher("巨强",19,"女","博士"), Teacher("暴强",10,"男","院士")}; Studentst[50]={
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 基于 控制台 学校 人员 管理 系统