数据结构员工管理信息系统代码.docx

上传人:b****5 文档编号:30070149 上传时间:2023-08-04 格式:DOCX 页数:13 大小:16.53KB
下载 相关 举报
数据结构员工管理信息系统代码.docx_第1页
第1页 / 共13页
数据结构员工管理信息系统代码.docx_第2页
第2页 / 共13页
数据结构员工管理信息系统代码.docx_第3页
第3页 / 共13页
数据结构员工管理信息系统代码.docx_第4页
第4页 / 共13页
数据结构员工管理信息系统代码.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数据结构员工管理信息系统代码.docx

《数据结构员工管理信息系统代码.docx》由会员分享,可在线阅读,更多相关《数据结构员工管理信息系统代码.docx(13页珍藏版)》请在冰豆网上搜索。

数据结构员工管理信息系统代码.docx

数据结构员工管理信息系统代码

数据结构-员工管理信息系统源程序

#include

#include

#include

#include

usingnamespacestd;

#defineOK1

#defineERROR0

#defineOVERFLOW-2

typedefintStatus;//Status是函数返回值类型,其值是函数结果状态代码。

#defineMAXSIZE100//顺序表可能达到的最大长度

typedefstruct{//ElemType为自定义的数据类型,要根据实际情况定义,本例为学生信息:

(学号,成绩)

intnum;

stringname;

stringsex;

stringbirth;

stringedu;

stringjob;

stringphone;

stringadd;

}ElemType;

typedefstruct{//定义顺序表类型为List

ElemType*elem;

intlength;

}List;

voidInitList(List&L)//创建空顺序表

{

L.elem=newElemType[MAXSIZE];//动态分配空间

L.length=0;

}

voidListInput(List&L,intn)//输入顺序表数据

{

inti;

cout<<"请输入员工信息"<

for(i=0;i

{cout<<"请输入员工编号:

"<

cin>>L.elem[i].num;//输入员工编号

cout<<"请输入员工姓名"<

cin>>L.elem[i].name;//输入姓名

cout<<"请输入员工性别:

"<

cin>>L.elem[i].sex;//输入员工编号

cout<<"请输入员工出生年月"<

cin>>L.elem[i].birth;

cout<<"请输入员工职务"<

cin>>L.elem[i].job;

cout<<"请输入员工学历"<

cin>>L.elem[i].edu;

cout<<"请输入员工电话号码"<

cin>>L.elem[i].phone;

cout<<"请输入员工住址"<

cin>>L.elem[i].add;

}

L.length=n;

}

voidListOutput(ListL)//输出顺序表数据

{

inti=0;

if(L.length==0)cout<<"空表,无数据输出!

";

for(i=0;i

cout<<"("<

}

intLocateElem(ListL,intnum)//在顺序表里查找某编号员工的信息{

inti;

for(i=0;i

if(num==L.elem[i].num)

returni+1;

elsereturn0;

}

voidListInsert(List&L,ElemTypee)//顺序表的插入

{

inti;

if(L.length==MAXSIZE)cout<<"存储空间已满";//当前存储空间已满

if(LocateElem(L,e.num)!

=0)

cout<<"数据已存在,请重新输入";

else

{for(i=L.length-1;i>=0;i--)

if(e.num

L.elem[i+1]=L.elem[i];

else

break;

L.elem[i+1]=e;

++L.length;

}

}

voidListDelete(List&L,intbh)

{

inti,j;

i=LocateElem(L,bh);

if(i==0)

cout<<"找不到此员工相关信息";

else

{for(j=i;j<=L.length;j++)

L.elem[j-1]=L.elem[j];

--L.length;}

}

voidBubbleSort(List&L)

{

inti,j;

ElemTypekey;

for(i=0;i

for(j=i+1;j

if(L.elem[i].num>L.elem[j].num)

{key=L.elem[i];

L.elem[i]=L.elem[j];

L.elem[j]=key;//在查找位置的同时元素后移

//将新元素e放入合适的位置//表长增1

//顺序表的删除

//查找删除位置

//被删除元素之后的元素前移

//表长减1

}

}

voidChangeM(List&L)

{

inti,n,num;

cout<<"\t\t\t*请输入更改的员工编号*"<

cin>>num;

cout<<"\t\t\t************************"<

cout<<"\t\t\t**"<

cout<<"\t\t\t*[1]改名字*"<

cout<<"\t\t\t*[2]改电话*"<

cout<<"\t\t\t*[3]改性别*"<

cout<<"\t\t\t*[4]改学历*"<

cout<<"\t\t\t*[5]改住址*"<

cout<<"\t\t\t*[6]改编号*"<

cout<<"\t\t\t*[7]改工作*"<

cout<<"\t\t\t*[8]改生日*"<

cout<<"\t\t\t************************\n";

cout<<"\t\t\t*请输入1-8选择修改项*"<

cin>>n;

for(i=0;i

if(num==L.elem[i].num)//查找删除位置

break;

if(i

switch(n)

{

case1:

cout<<"\t\t\t请输入新内容:

"<

cin>>L.elem[i].name;break;

case2:

cout<<"\t\t\t请输入新内容:

"<

cin>>L.elem[i].phone;break;

case3:

cout<<"\t\t\t请输入新内容:

"<

cin>>L.elem[i].sex;break;

case4:

cout<<"\t\t\t请输入新内容:

"<

cin>>L.elem[i].edu;break;

case5:

cout<<"\t\t\t请输入新内容:

"<

cin>>L.elem[i].add;break;

case6:

cout<<"\t\t\t请输入新内容:

"<

cin>>L.elem[i].num;break;

case7:

cout<<"\t\t\t请输入新内容:

"<

cin>>L.elem[i].job;break;

case8:

cout<<"\t\t\t请输入新内容:

"<

cin>>L.elem[i].birth;break;

}

else

cout<<"未找到要修改的员工信息,请检查是否编号输入有误!

\n";

}

voidmenu(void)//主菜单

{

system("cls");

cout<<"\n\n";

cout<<"\t\t\t员工管理系统\n";

cout<<"\t\t\t************************\n";

cout<<"\t\t\t**\n";

cout<<"\t\t\t*[1]数据输入*\n";

cout<<"\t\t\t*[2]查询数据*\n";

cout<<"\t\t\t*[3]更新数据*\n";

cout<<"\t\t\t*[4]插入数据*\n";

cout<<"\t\t\t*[5]删除数据*\n";

cout<<"\t\t\t*[6]员工排序*\n";

cout<<"\t\t\t*[7]txt文件(员工信息)*\n";

cout<<"\t\t\t*[8]文件导出*\n";

cout<<"\t\t\t*[9]退出*\n";

cout<<"\t\t\t**\n";

cout<<"\t\t\t**\n";

cout<<"\t\t\t************************\n";

cout<<"\t\t\t请输入你的选项(1-8):

";

}

voidnewFile(List&L){

inti;

intnum;

stringname;

stringsex;

stringbirth;

stringedu;

stringjob;

stringphone;

stringadd;

FILE*fp;

if((fp=fopen("f1.txt","w"))==NULL)

{

cout<<"fileopenerror!

\n";

exit(0);

}

for(i=0;i

{

num=L.elem[i].num;

name=L.elem[i].name;

sex=L.elem[i].sex;

birth=L.elem[i].birth;

edu=L.elem[i].edu;

job=L.elem[i].job;

phone=L.elem[i].phone;

add=L.elem[i].add;

fprintf(fp,"%d",num);

fputs("",fp);

fputs((constchar*)(name.c_str()),fp);

fputs("",fp);

fputs((constchar*)(sex.c_str()),fp);

fputs("",fp);

fputs((constchar*)(birth.c_str()),fp);

fputs("",fp);

fputs((constchar*)(edu.c_str()),fp);

fputs("",fp);

fputs((constchar*)(job.c_str()),fp);

fputs("",fp);

fputs((constchar*)(phone.c_str()),fp);

fputs("",fp);

fputs((constchar*)(add.c_str()),fp);

fputs("",fp);

fputs("\n",fp);

}

fclose(fp);

}

voidreadFile(List&L)

{

FILE*fp;

if((fp=fopen("f1.txt","r"))==NULL)

{

cout<<"fileopenerror!

\n";

exit(0);

}

while(!

feof(fp))

{

chara;

a=fgetc(fp);

putchar(a);

}

}

voidmain()

{

ListL;

inti,n,m;

charname;

ElemTypee;

InitList(L);

while

(1)

{

menu();

cin>>i;

switch(i)

{

case1:

cout<<"请输入员工总人数:

";

cin>>n;

ListInput(L,n);

ListOutput(L);

break;

case2:

cout<<"请输入要查找的员工编号:

";

cin>>n;

m=LocateElem(L,n);

if(m==0)

cout<<"数据不存在";

else

{cout<<"该员工的信息为:

";

cout<

break;

case3:

ChangeM(L);

ListOutput(L);

break;

case4:

cout<<"请输入要插入的数据,"<

cout<<"按以下顺序输入信息:

编号、姓名、性别、出生年月、职务、学历、电话号码、地址。

"<

cin>>e.num;

cin>>e.name;

cin>>e.sex;

cin>>e.birth;

cin>>e.job;

cin>>e.edu;

cin>>e.phone;

cin>>e.add;

ListInsert(L,e);

ListOutput(L);

break;

case5:

cout<<"请输入要删除学号的员工编号:

";

cin>>n;

ListDelete(L,n);

ListOutput(L);

break;

case6:

BubbleSort(L);

cout<<"按编号排序后。

"<

ListOutput(L);break;

case7:

newFile(L);

cout<<"已存入TXT文件。

"<

case8:

readFile(L);

intar;

cin>>ar;

break;

case9:

exit(0);break;

default:

cout<<"输入错误,请输入(1-8):

\n";break;

}

cout<<"Entertocontinue..."<

getchar();

getchar();

}

}

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

当前位置:首页 > 幼儿教育 > 唐诗宋词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1