课程教职工信息管理系统源代码.docx
- 文档编号:11473736
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:21
- 大小:17.52KB
课程教职工信息管理系统源代码.docx
《课程教职工信息管理系统源代码.docx》由会员分享,可在线阅读,更多相关《课程教职工信息管理系统源代码.docx(21页珍藏版)》请在冰豆网上搜索。
课程教职工信息管理系统源代码
教职工信息管理系统源码
#include
#include
#include
#include
#definemaxsize100
fstreamiofile;//文件指针
classTime//时间类
{
public:
intyear;
intmonth;
intday;
};
classTelem//个人信息
{
public:
charname[20];
charsex[10];
Timebirthtime;//组合Time类
charnum[20];
charwage[20];
Timeworktime;
intyear;
chardepartment[20];
friendistream&operator>>(istream&input,Telem&T);
friendostream&operator<<(ostream&output,Telem&T);
friendintoperator-(Time&t1,Time&t2);
};
classPeople:
virtualpublicTelem//雇员类
{
public:
People();
virtualvoidAddF()=0;//添加
virtualvoidAddall()=0;
virtualvoidAdd()=0;
virtualvoidDisplay();//输出数组的内容
virtualvoidDisplaypart(charp[]);
virtualvoidFindname(charn[]);
virtualvoidFindyear(int);
virtualvoidDel(charn[])=0;
virtualvoidDel(int);
protected:
Telemdata[maxsize];
Timenow;
intlength;
};
classTeacher:
virtualpublicPeople//派生虚基类
{
public:
virtualvoidAddF();
virtualvoidAddall();
virtualvoidAdd();
virtualvoidDisplay();
virtualvoidDel(inti);
virtualvoidDel(charn[]);
};
classworker:
virtualpublicPeople//派生虚基类
{
public:
virtualvoidAddF();
virtualvoidAddall();
virtualvoidAdd();
virtualvoidDisplay();
virtualvoidDel(inti);
virtualvoidDel(charn[]);
};
People:
:
People()//系统自动生成的构造函数
{
length=0;
now.year=2010;
now.month=7;
now.day=6;
}
voidPeople:
:
Display()//引用
{
inti;
for(i=0;i cout< } voidPeople: : Displaypart(charp[])//引用数组 { inti,c; for(i=0;i if(strcmp(data[i].wage,p)==0) { cout<<"输出选择姓名1性别2编号3工资4出生日期5工作时间6年龄7系别8退出选择9"< while(cin>>c) { switch(c) {case1: cout<<"姓名: "< case2: cout<<"性别: "< case3: cout<<"编号: "< case4: cout<<"工资: "< case5: cout<<"出生日期: "< case6: cout<<"工作时间: "< case7: cout<<"年龄: "< case8: cout<<"系别: "< case9: gotoloop; default: cout<<"操作错误......"< } } loop: ; } } voidPeople: : Findname(charn[])//引用 { inti; for(i=0;i if(strcmp(data[i].name,n)==0)//对象引用 cout< } voidPeople: : Findyear(inty) { inti; for(i=0;i if(data[i].year==y) cout< } voidPeople: : Del(inti) { intj; if(i<1||i>length) cout<<"不存在第"< for(j=i;j data[j-1]=data[j]; length--; } voidworker: : AddF() { intflag=0; iofile.open("worker_information.txt",ios: : in|ios: : binary);//文件的打开与关闭 while(iofile.seekg(ios: : cur)) { iofile.seekg(length*sizeof(data[length]),ios: : beg); iofile.read((char*)&data[length],sizeof(data[length]));//文件的随机访问 length++; if(length==maxsize) { flag=1; gotoloop; } } People: : Del(length); cout<<"添加人员信息成功......"< loop: if(1==flag) cout<<"人员信息储存空间已满......"< iofile.close(); } voidworker: : Addall() { charans; intflag=0; iofile.open("worker_information.txt",ios: : out|ios: : binary); do { cin>>data[length]; data[length].year=now-data[length].birthtime; iofile.write((char*)&data[length],sizeof(data[length])); cout<<"添加人员信息成功......"< length++; if(length==maxsize) { flag=1; gotoloop; } cout<<"contine(Y|N)? "; cin>>ans; }while('y'==ans||'Y'==ans); loop: if(1==flag) cout<<"人员信息储存空间已满......"< iofile.close(); } voidworker: : Add() { intflag=0; iofile.open("worker_information.txt",ios: : app|ios: : out|ios: : binary); if(length==maxsize) { flag=1; gotoloop; } cin>>data[length]; data[length].year=now-data[length].birthtime; iofile.write((char*)&data[length],sizeof(data[length])); cout<<"添加人员信息成功......"< length++; loop: if(1==flag) cout<<"人员信息储存空间已满......"< iofile.close(); } voidworker: : Display() { cout<<"★☆★☆★☆★☆★☆工人信息★☆★☆★☆★☆★☆"< if(0==length) cout<<"无......"< inti; for(i=0;i cout< } voidworker: : Del(charn[]) { inti,j,k; for(i=0;i if(strcmp(data[i].name,n)==0) { k=i+1;break; } if(k<1) cout<<"不存在姓名"< for(j=k;j data[j-1]=data[j]; length--; cout<<"删除人员信息成功......"< } voidworker: : Del(inti) { intj; if(i<1||i>length) cout<<"不存在第"< for(j=i;j data[j-1]=data[j]; length--; cout<<"删除成功......"< } voidTeacher: : AddF() { intflag=0; iofile.open("Teacher_information.txt",ios: : in|ios: : binary); while(iofile.seekg(sizeof(data[length]),ios: : cur)) { if(iofile.seekg(length*sizeof(data[length]),ios: : beg)) iofile.read((char*)&data[length],sizeof(data[length])); else break; length++; if(length==maxsize) { flag=1; gotoloop; } } People: : Del(length); cout<<"添加人员信息成功......"< loop: if(1==flag) cout<<"人员信息储存空间已满......"< iofile.close(); } voidTeacher: : Addall() { charans; intflag=0; iofile.open("Teacher_information.txt",ios: : in|ios: : out|ios: : binary); do { cin>>data[length]; data[length].year=now-data[length].birthtime; iofile.write((char*)&data[length],sizeof(data[length])); cout<<"添加人员信息成功......"< length++; if(length==maxsize) { flag=1; gotoloop; } cout<<"contine(Y|N)? "; cin>>ans; }while('y'==ans||'Y'==ans); loop: if(1==flag) cout<<"人员信息储存空间已满......"< iofile.close(); } voidTeacher: : Add() { intflag=0; iofile.open("Teacher_information.txt",ios: : app|ios: : out|ios: : binary); if(length==maxsize) { flag=1; gotoloop; } cin>>data[length]; data[length].year=now-data[length].birthtime; iofile.write((char*)&data[length],sizeof(data[length])); cout<<"添加人员信息成功......"< length++; loop: if(1==flag) cout<<"人员信息储存空间已满......"< iofile.close(); } voidTeacher: : Display() { cout<<"★☆★☆★☆★☆★☆教师信息★☆★☆★☆★☆★☆"< if(0==length) cout<<"无......"< inti; for(i=0;i cout< } voidTeacher: : Del(charn[]) { inti,j,k; for(i=0;i if(strcmp(data[i].name,n)==0) { k=i+1;break; } if(k<1)cout<<"不存在姓名"< for(j=k;j data[j-1]=data[j]; length--; cout<<"删除人员信息成功......"< } voidTeacher: : Del(inti) { intj; if(i<1||i>length) cout<<"不存在第"< for(j=i;j data[j-1]=data[j]; length--; cout<<"删除成功......"< } istream&operator>>(istream&input,Telem&T) { inty,m,d; cout<<"请输入姓名(以*结尾): "< input.getline(T.name,20,'*'); cout<<"请输入性别(以*结尾男或女): "< input.getline(T.sex,10,'*'); cout<<"编号(以*结尾): "< input.getline(T.num,20,'*'); cout<<"工资(以*结尾): "< input.getline(T.wage,20,'*'); cout<<"请输入出生日期: "< input>>y>>m>>d; T.birthtime.year=(y>=1900&&y<=2100)? y: 1900; T.birthtime.month=(m>=1&&m<=12)? m: 1; T.birthtime.day=(d>=1&&d<=31)? d: 1; cout<<"请输入系别(以*结尾): "< input.getline(T.department,20,'*'); cout<<"参加工作时间: "< input>>y>>m>>d; T.worktime.year=(y>=1900&&y<=2100)? y: 1900; T.worktime.month=(m>=1&&m<=12)? m: 1; T.worktime.day=(d>=1&&d<=31)? d: 1; returninput; } ostream&operator<<(ostream&output,Telem&T) { cout<<"姓名: "; output< cout<<"性别: "; output< cout<<"编号: "; output< cout<<"工资: "; output< cout<<"出生日期: "; output< cout<<"系别: "; output< cout<<"参加工作时间: "; output< cout<<"年龄: "; output< returnoutput; } intoperator-(Time&t1,Time&t2) { returnt1.year-t2.year; } voidShowmenu() { cout< cout<<"欢迎进入教职工信息管理系统"< cout<<"2010年7月7日发布"<<"版权所有: swa"< cout<<"★☆★☆★☆★☆★人员信息管理系统★☆★☆★☆★☆★"< cout<<"★1-从键盘录入全部人员记录☆"< cout<<"☆2-增加一位人员记录★"< cout<<"★3-显示全部人员记录☆"< cout<<"☆4-按系别输出人员信息(可选)★"< cout<<"★5-按姓名或年龄检索所有信息☆"< cout<<"☆6-显示菜单目录★"< cout<<"★7-结束程序运行☆"< cout<<"★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆"< } intmain() { Teachertea; workerstu; People*pt=&tea; People*ps=&stu; intc=0,k=0,l=0,i=0; charnam[20],part[20]; Showmenu(); for(;;) { cout<<"请根据菜单执行相应操作: "; cin>>c; switch(c) { case1: { cout<<"★☆★☆★☆★录入全部人员记录★☆★☆★☆★"< cout<<"★☆★☆★从键盘输入教师信息☆★☆★☆"< pt->Addall(); cout<<"★☆★☆★☆★☆★☆从键盘输入工人信息★☆★☆★☆★☆★☆"< ps->Addall(); break; } case2: { cout<<"★☆★☆★☆★☆从键盘增加一位人员记录★☆★☆★☆★☆"< cout<<"★☆★☆★☆★☆教师操作请按1工人操作请按2★☆★☆★☆★☆"< cin>>k; if(1==k) pt->Add(); elseif(2==k) ps->Add(); else cout<<"操作错误..."< break; } case3: { cout<<"★☆★☆★☆★☆★☆显示全部人员记录★☆★☆★☆★☆★☆"< pt->Display(); ps->Display(); break; } case4: { cout<<"★☆★☆★☆★☆★☆按部门输出人员信息(可选)★☆★☆★☆★☆★☆"< cout<<"★☆★
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程 教职工 信息管理 系统 源代码