C++课程设计 教职工信息管理系统源代码.docx

上传人:b****8 文档编号:10024646 上传时间:2023-05-23 格式:DOCX 页数:21 大小:18.07KB
下载 相关 举报
C++课程设计 教职工信息管理系统源代码.docx_第1页
第1页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第2页
第2页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第3页
第3页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第4页
第4页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第5页
第5页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第6页
第6页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第7页
第7页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第8页
第8页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第9页
第9页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第10页
第10页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第11页
第11页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第12页
第12页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第13页
第13页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第14页
第14页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第15页
第15页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第16页
第16页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第17页
第17页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第18页
第18页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第19页
第19页 / 共21页
C++课程设计 教职工信息管理系统源代码.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++课程设计 教职工信息管理系统源代码.docx

《C++课程设计 教职工信息管理系统源代码.docx》由会员分享,可在线阅读,更多相关《C++课程设计 教职工信息管理系统源代码.docx(21页珍藏版)》请在冰点文库上搜索。

C++课程设计 教职工信息管理系统源代码.docx

C++课程设计教职工信息管理系统源代码

教职工信息管理系统源码

#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<<"

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2