《数据结构员工管理信息系统代码》由会员分享,可在线阅读,更多相关《数据结构员工管理信息系统代码(9页珍藏版)》请在金锄头文库上搜索。
1、数据结构-员工管理信息系统源程序#include#include#include #include using namespace std;# define OK 1# define ERROR 0# define OVERFLOW -2 typedef int Status;# define MAXSIZE 100typedef struct 际情况定义,本例为学生信息int num;string name;string sex;string birth;string edu;string job;string phone;string add;ElemType;typedef struct
2、 ElemType *elem; int length; List;void InitList(List &L) L.elem=new ElemTypeMAXSIZE;L.length=0;void ListInput(List &L,int n)/Status是函数返回值类型,其值是函数结果状态代码。顺序表可能达到的最大长度(学号成绩)/ElemType为自定义的数据类型,要根据实定义顺序表类型为List创建空顺序表动态分配空间输入顺序表数据int i;cout请输入员工信息endl;for(i=0;in;i+)cout请输入员工编号:L.elemi.num;/ 输入员工编号cout请输入员
3、工姓名L.elemi.name;输入姓名cout请输入员工性别:L.elemi.sex;输入员工编号cout请输入员工出生年月L.elemi.birth;cout请输入员工职务L.elemi.job;cout请输入员工学历L.elemi.edu;cout请输入员工电话号码 L.elemi.phone;cout请输入员工住址L.elemi.add; L.length=n;void ListOutput(List L)输出顺序表数据 int i=0;if (L.length=0) cout空表,无数据输出!;for(i=0;iL.length;i+)cout(L.elemi.num,L.elemi
4、.name,L.elemi.birth,L.elemi.j ob,L.elemi.edu,L.elemi.phone, L.elemi.add)endl;/输出数据coutendl;int LocateElem(List L,int num)在顺序表里查找某编号员工的信息 int i;for(i=0;iL.length;i+) if(num=L.elemi.num) return i+1;else return 0; void ListInsert(List &L,ElemType e) 顺序表的插入int i;if(L.length=MAXSIZE)if(LocateElem(L,e.num
5、)!=0) cout=0;i-) if (e.numL.elemi.num)L.elemi+1=L.elemi; else break;L.elemi+1=e; +L.length; void ListDelete(List &L,int bh)int i,j;i=LocateElem(L,bh);if(i=0)cout找不到此员工相关信息 else for(j=i;j=L.length;j+)L.elemj-1=L.elemj;-L.length; cout存储空间已满当前存储空间已满在查找位置的同时元素后移将新元素e放入合适的位置表长增1/顺序表的删除查找删除位置/被删除元素之后的元素前移
6、表长减1void BubbleSort(List &L)int i,j;ElemType key;for(i=0;iL.length-1;i+)for(j=i+1;jL.elemj.num) key=L.elemi;L.elemi=L.elemj;L.elemj=key;void ChangeM(List &L)int i,n,num;*“endl;coutnum;coutttt*endl;coutttt*endl;coutttt* 1改名字*endl;coutttt* 2改电话*endl;coutttt* 3改性别*endl;coutttt* 4改学历*endl;coutttt* 5改住址*
7、endl;coutttt* 6改编号*endl;coutttt* 7改工作*endl;coutttt* 8改生日*endl;coutttt*n;coutn;for(i=0;iL.length;i+)if(num=L.elemi.num)查找删除位置break;*“endl;if(iL.length)switch(n)case 1:coutttt请输入新内容:L.elemi.name;break;case 2:coutttt请输入新内容:L.elemi.phone;break;case 3:coutttt请输入新内容:L.elemi.sex;break;case 4:coutttt请输入新内容:
8、L.elemi.edu;break;case 5: coutttt 请输入新内容:L.elemi.add;break;case 6:coutttt 请输入新内容:L.elemi.num;break;case 7:coutttt 请输入新内容:L.elemi.job;break;case 8:coutttt 请输入新内容:L.elemi.birth;break;elsecout未找到要修改的员工信息,请检查是否编号输入有误!n;void menu(void)主菜单system(cls);coutnn;coutttt员工管理系统n;I I,/ /*、c ” coutttt*n;coutttt* 1
9、 数 据输入 *n;coutttt* 2查询数据*n;coutttt* 3更新数据*n;coutttt* 4插入数据*n;coutttt* 5删除数据*n;coutttt* 6员工排序*n”;coutttt* 7txt 文彳(员工信息)*n;coutttt* 8文件导出*n;coutttt* 9 退 出*n;coutttt*n;coutttt*n;coutttt*n;coutttt请输入你的选项(1-8):;void newFile(List &L)int i;int num;string name;string sex;string birth;string edu;string job;s
10、tring phone;string add;FILE *fp;if(fp=fopen(f1.txt,w)片NULL) coutfile open error!n;exit(0);for(i=0;iL.length;i+)num=L.elemi.num;name=L.elemi.name;sex=L.elemi.sex;birth=L.elemi.birth;edu=L.elemi.edu;job=L.elemi.job;phone=L.elemi.phone;add=L.elemi.add;fprintf(fp,%d,num);fputs( ,fp);fputs(const char *)(name.c_str(),fp);fputs( ,fp);fputs(const char *)(sex.c_str(),fp);fputs( ,fp);fputs(const char *)(birth.c_str(),fp);fputs( ,fp);fputs(const char *)(edu.c_str(),fp);fputs( ,fp);fputs(const ch