数据结构员工管理信息系统代码.docx
- 文档编号:30070149
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:13
- 大小:16.53KB
数据结构员工管理信息系统代码.docx
《数据结构员工管理信息系统代码.docx》由会员分享,可在线阅读,更多相关《数据结构员工管理信息系统代码.docx(13页珍藏版)》请在冰豆网上搜索。
数据结构员工管理信息系统代码
数据结构-员工管理信息系统源程序
#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(); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 员工 管理信息系统 代码