员工通讯管理系统_单位员工通讯管理系统
员工通讯管理系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“单位员工通讯管理系统”。
自己用c++写的员工通讯录管理系统,经过反复测试,绝对没问题,请放心使用。
1、单位员工通讯录管理系统(线性表的应用)
[问题描述] 为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的办公室电话、手机号、及电子邮箱。其功能包括通讯录链表的建立、员工通讯信息的查询、修改、插入与删除、以及整个通讯录表的输出。[实现提示] 可以采用单链表的存储结构,如可定义如下的存储结构: typedef struct { /*员工通讯信息的结构类型定义*/ char num[5];/*员工编号*/ char name[10];/*员工姓名*/ char phone[15];/*办公室电话号码*/ char call[15];/*手机号码*/ }DataType;/*通讯录单链表的结点类型*/ typedef struct node { DataType data;/*结点的数据域*/ struct node *next;/*结点的指针域*/ }ListNode,*LinkList;截图 增添信息
查询信息
删除信息
修改信息
源代码
#include #include #include “stdlib.h” using namespace std;typedef struct { /*员工通讯信息的结构类型定义*/
char num[5];
/*员工编号*/
char name[10];
/*员工姓名*/
char phone[15];
/*办公室电话号码*/
char call[15];/*手机号码*/ char email[30];//邮箱 }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 InsertList(LinkList &L){ LinkList q= new ListNode;q->next=NULL;if(!q)exit(1);
cout
cin>>q->data.num>>q->data.name>>q->data.phone>>q->data.call>>q->data.email;LinkList p=L;while(p->next!=NULL)p=p->next;
p->next=q;} void shuchu(LinkList L){ LinkList w=new ListNode;cout
w=L->next;while(w!=NULL){ coutdata.numdata.namedata.phonedata.calldata.email
w=w->next;}
}
void inquire(LinkList L){ char b[10];cout>b;LinkList r;for(r=L->next;r!=NULL&&strcmp(b,r->data.name);r=r->next){} if(r==NULL)
cout
else {
coutdata.num
coutdata.name
coutdata.phone
coutdata.call
coutdata.email
}
} void xiugai(LinkList &L){ char c[5];LinkList r,s;
cout>c;for(r=L->next;r!=NULL&&strcmp(c,r->data.num);r=r->next){} if(r==NULL)
cout
else {
cout
s=new ListNode;s->next=NULL;
cin>>s->data.num>>s->data.name>>s->data.phone>>s->data.call>>s->data.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;
coutdata.numdata.namedata.phonedata.calldata.email
}
} void Delete(LinkList &L){ char e[10];cout>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)
coutnext=r->next;//delete r;cout
int doing(LinkList &N){
cout
cout
cout
cout
int a;cin>>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
cout>d;if(d=='y'||d=='Y')doing(N);//继续操作 return 0;} int main(){ LinkList N;InitList(N);
doing(N);return 0;}