《员工通讯管理系统.docx》由会员分享,可在线阅读,更多相关《员工通讯管理系统.docx(4页珍藏版)》请在三一办公上搜索。
1、员工通讯管理系统自己用c+写的员工通讯录管理系统,经过反复测试,绝对没问题,请放心使用。 1、 单位员工通讯录管理系统 问题描述 为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的办公室电话、手机号、及电子邮箱。其功能包括通讯录链表的建立、员工通讯信息的查询、修改、插入与删除、以及整个通讯录表的输出。 实现提示 可以采用单链表的存储结构,如可定义如下的存储结构: typedef struct /*员工通讯信息的结构类型定义*/ char num5; /*员工编号*/ char name10; /*员工姓名*/ char phone15; /*办公室电话号码*/ char call1
2、5; /*手机号码*/ DataType; /*通讯录单链表的结点类型*/ typedef struct node DataType data; /*结点的数据域*/ struct node *next; /*结点的指针域*/ ListNode,*LinkList; 截图 增添信息 查询信息 删除信息 修改信息 源代码 #include #include #include stdlib.h using namespace std; typedef struct /*员工通讯信息的结构类型定义*/ char num5; /*员工编号*/ char name10; /*员工姓名*/ char ph
3、one15; /*办公室电话号码*/ char call15; /*手机号码*/ char email30;/邮箱 DataType; /*通讯录单链表的结点类型*/ typedef struct node DataType data; /*结点的数据域*/ struct node *next; /*结点的指针域*/ ListNode,*LinkList; LinkList p,q; LinkList L; int i=0; void InitList(LinkList &L) L = new ListNode; if(!L) exit(1); L-next=NULL; void Insert
4、List(LinkList &L ) LinkList q= new ListNode; q-next=NULL; if (!q) exit(1); cout请输入 endl; cout员工编号|员工姓名|办公室电话号码|手机号|邮箱号q-data.numq-data.nameq-data.phoneq-data.callq-data.email; LinkList p=L; while (p-next!=NULL) p=p-next; p-next=q; void shuchu(LinkList L ) LinkList w=new ListNode; cout员工编号 员工姓名 办公室电话
5、号码 手机号 邮箱号next; while(w!=NULL) coutdata.numtdata.nametdata.phone data.call data.emailnext; void inquire(LinkList L) char b10; cout请输入你要查询的员工姓名b; LinkList r; for(r=L-next;r!=NULL&strcmp(b,r-data.name);r=r-next) if(r=NULL) cout你要查询的员工不存在endl; else cout员工编号:data.numendl; cout员工姓名:data.nameendl; cout办公室
6、电话号码:data.phoneendl; cout手机号码:data.callendl; cout员工邮箱:data.emailendl; void xiugai(LinkList &L) char c5; LinkList r,s; cout请输入你要修改的员工的编号c; for(r=L-next;r!=NULL&strcmp(c,r-data.num);r=r-next) if(r=NULL) cout你要修改的员工不存在endl; else cout请出入新的员工信息next=NULL; cins-data.nums-data.names-data.phones-data.calls-d
7、ata.email; strcpy(r-data.num,s-data.num); strcpy(r-data.name,s-data.name); strcpy(r-data.phone,s-data.phone); strcpy(r-data.call,s-data.call); strcpy(r-data.email,s-data.email); delete s; cout更改后的信息data.numtdata.nametdata.phone data.call data.emailendl; void Delete(LinkList &L) char e10; cout请输入你要删除
8、的员工姓名e; LinkList r,t; t=L; for(r=L-next;r!=NULL&strcmp(e,r-data.name);r=r-next) t=t-next; if(r=NULL) cout你要查询的员工不存在next=r-next; /delete r; cout删除成功; int doing(LinkList &N) cout-请选择操作-endl; cout1.插入信息; cout2.查询信息endl; cout3.修改信息; cout4.删除信息endl; cout5.读出所有信息a; switch(a) case 1:InsertList(N);break; case 2: inquire(N);break; case 3: xiugai(N);break; case 4: Delete(N);break; case 5:shuchu(N);break; default:cout没有这个操作endl; coutd; if (d=y|d=Y) doing(N); /继续操作 return 0; int main LinkList N; InitList(N); doing(N); return 0;