员工通讯录管理系统

员工通讯录管理系统

用线性表制作员工通讯录管理系统:

头文件:ehead.h

#include

#include

#include

#include

#include

extern void mainmenu();

extern void project();

extern void input();

extern void search();

extern void change();

extern void insert();

extern void Delete();

extern void save();

extern void lead();

//主菜单 //信息输入 //信息查找 //信息修改 //信息插入 //信息删除 //信息保存 //信息导出

main函数:

# include "ehead.h"

int main()

{

printf("\n\n\n\n\n\n\n\n\t\t▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼system("cls"); system("color 5e"); ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼\n");

printf("\t\t\t\t\t员工通讯录管理系统\n"); printf("\t\t▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲\n\n");

printf("\t\t\t\t\t"); system("pause"); mainmenu(); getchar(); printf("\t\t\t\t\t 软件工程1302班\n\n"); printf("\t\t\t\t\t 王瑞琦\n\n");

return 0;

}

功能函数部分:

# include "ehead.h"

FILE *fp;

typedef struct

{

char num[5];

char name[10];

char phone[15];

char call[15];

char e_mail[30];

}DataType;

typedef struct node

{

DataType data;

struct node *next;

}ListNode,*LinkList;

/*员工通讯信息的结构类型定义*/ /*员工编号*/ /*员工姓名*/ /*办公室电话号码*/ /*手机号码*/ /*电子邮箱*/ /*结点的数据域*/ /*结点的指针域*/

node *head,*p,*q,*e;

/*******信息输入******/

int b;

int i=0;

char sele;

void input()

{

printf("请输入员工数: "); scanf("%d",&b); printf("\n\n\t\t\t***输入信息***\n"); for(i=0;inext=NULL; q=head;

p=(LinkList)malloc(sizeof(ListNode)); printf("\n\n\t\t\t员工编号:"); scanf("%s",&p->data.num); printf("\n\t\t\t员工姓名:"); scanf("%s",p->data.name); printf("\n\t\t\t办公室电话:"); scanf("%s",&p->data.phone); printf("\n\t\t\t手机号码:"); scanf("%s",&p->data.call); printf("\n\t\t\t电子邮箱:"); scanf("%s",&p->data.e_mail);

q->next=p;

getchar(); q=p; q->next=NULL;

//显示信息部分

printf("\n\n\t员工编号\t员工姓名\t办公室电话\t手机号码\t电子邮箱\n");

printf("\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf(" %-5s %-10s %-15s %-15s p=head->next; while(p) { %-30s

",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

printf("\n"); if(p->next==NULL) {

} p=p->next; } printf("\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

}

/******信息查询******/ printf("\t\t\t\t\t是否确定信息(y/n): "); scanf("%c",&sele); if(sele=='y') system("cls");mainmenu(); //返回主菜单部分

void search()

{

int m; //m设为选择方式 p=head->next; printf("\n\n\t\t\t**查询通讯录记录**\n"); printf("\n\t\t\t请选择查询方式:\n");

printf("\t\t\t~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf("\t\t\t# 1------编号 #\n");

printf("\t\t\t# 2------姓名 #\n");

printf("\t\t\t# 0------返回主菜单 #\n");

printf("\t\t\t~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf("\t\t\t请选择:");

scanf("%d",&m);

if(m==1) goto A; if(m==2) goto B; if(m==0) system("cls");

char c[5];

int a;

A: system("cls");

node *p;

p =head->next;

printf("\n\n\n\n\n\n\n\t\t\t================================================\n");

printf("\t\t\t\t请输入你要查找的员工编号: ");

for(a=0;a

{ if(strcmp(p->data.num,c)==0) { scanf("%s",&c);

printf("\n\n\t员工编号\t员工姓名\t员工电话\t 员工手机\t\t电子邮箱\n");

printf("\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf(" %-5s %-10s %-15s %-15s %-30s

",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

printf("\n");

printf("\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf("\t\t\t\t是否返回主菜单(y/n): "); scanf("%s",&sele); switch(sele) { case 'y':system("cls");mainmenu();

case 'n':system("cls");search(); } break; } p=p->next; }

B:system("cls");

p =head->next;

printf("\n\n\n\n\n\n\n\t\t\t================================================\n");

printf("\t\t\t\t请输入你要查找的员工姓名: ");

scanf("%s",&c);

for(a=0;a

printf("\n\n员工编号\t员工姓名\t员工电话\t 员工手机{ if(strcmp(p->data.name,c)==0) { \t\t电子邮箱\n");

printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf(" %-5s %-10s %-15s %-15s %-30s

",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

printf("\n");

printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

}

printf("是否返回主菜单(y/n): "); scanf("%s",&sele); switch(sele) { case'y':system("cls");mainmenu(); break; case'n':system("cls");search(); }; break; } p=p->next; }

/******修改信息******/

void change()

{

int m=0; int a,f;

node *p;

C:char c[5];

p =head->next;

printf("\n\n\n\n\n\n\n\t================================================\n");

printf("\t请输入你要查找的员工编号或姓名: ");

for(a=0;a

{ //printf("%d",b); if(strcmp(p->data.num,c)==0||strcmp(p->data.name,c)==0) { scanf("%s",&c);

printf("\n\n\t员工编号\t员工姓名\t员工电话\t 员工手机\t\t电子邮箱\n");

printf("\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf(" %-5s %-10s %-15s %-15s %-30s

",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

break; printf("\n");

printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

} p=p->next;

}

D: if(b=0)

{

printf("没有此人信息");

}

else

{

if(f==1) { system("cls"); printf("%d",b); printf("AAA"); printf("\n\n\t\t\t**修改通讯录记录**\n"); printf("\t\t\t1.---确认修改\n"); printf("\t\t\t2.---返回重新查找\n"); printf("\t\t\t**********************\n"); printf("\t\t\t请选择: "); scanf("%d",&f);

E: printf("\n\n\n\t\t请输入修改后的员工信息\n"); printf("\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("员工编号:");

scanf("%s",p->data.num);

printf("\n员工姓名:");

scanf("%s",p->data.name);

printf("\n办公室电话:");

scanf("%s",p->data.phone);

printf("\n手机号码:");

scanf("%s",p->data.call);

printf("\n电子邮箱:");

scanf("%s",p->data.e_mail);

} if(f==2) //system("cls"); goto C;

}

printf("\n\n员工编号\t员工姓名\t员工电话\t 员工手机\t\t电子邮箱\n");

printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf(" %-5s %-10s %-15s %-15s %-30s

",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

printf("\n");

printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf("是否确定修改信息(y/n): "); scanf("%s",&sele);

{

case'y':system("cls");mainmenu();

}

/******信息插入******/

void insert()

{

int j; node *p;

head=(LinkList)malloc(sizeof(ListNode)); } break; break; case'n':system("cls");change(); F://

printf("\n\t\t\t**插入通讯录记录**\n");

p=(LinkList)malloc(sizeof(ListNode));

printf("\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

p->next=head->next; head->next=p; printf("\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("\t\t\t****插入成功!***\n"); printf("\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("\n请输入员工信息:"); printf("\t\t员工编号: "); scanf("%s",&p->data.num); printf("\t\t\t员工姓名: "); scanf("%s",p->data.name); printf("\t\t\t手机号码: "); scanf("%s",&p->data.phone); printf("\t\t\t电话号码: "); scanf("%s",&p->data.call); printf("\t\t\t电子邮箱: "); scanf("%s",&p->data.e_mail);

}

printf("\t\t\t是否继续插入信息(y/n): "); scanf("%s",&sele); switch(sele) { } case'y':system("cls");insert(); break; case'n':system("cls");mainmenu(); break;

/******删除信息******/

void Delete()

{

system("cls");

node *p,*x; p =head->next; int m=0; char s[5]; printf("请输入要查找的编号:"); scanf("%s",&s); for(int k=0;kdata.num,s)==0) { printf("\n\n\t员工编号\t员工姓名\t员工电话\t 员工手b++; 机\t\t电子邮箱\n");

printf("\t*************************************************************************************\n");

printf(" %-5s %-10s %-15s %-15s

%-30s

",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

printf("\n");

printf("\t*************************************************************************************\n");

} break;

p=p->next;

int g; } if(m!=0) { } else { } //printf("没有该信息!");

printf("\n\n\t\t\t1.确认删除\n\t\t\t2.返回菜单\n"); printf("请选择: "); scanf("%d",&g); switch(g) { case 1:{ p =head->next; x = p; while(p->next&&(strcmp(p->data.num,s)!=0)) { } if(p->next) { } else if(p->next==NULL) x->next=p->next; free(p); printf("\n****删除成功!****\n"); x = p; p=p->next;

x->next=NULL; printf("\n****删除成功!****\n");

}

else

printf("

system("cls");

system("pause");

mainmenu();

}

break;

case 2:system("cls");mainmenu();

break;

}

}

\n!");

/******信息保存******/

void save()

{

if(head==NULL) printf("错误"); } exit(1); if((fp=fopen("Employee directory.txt","wb"))==NULL) { printf("cannot open this Employee directory.\n"); FILE *fp; int i;

p=head;

p=p->next;

do

{

fprintf(fp," %-5s %-10s %-15s %-15s %-30s

\n",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

p=p->next;

}while(p!=NULL); fclose(fp); printf("\n\t\t\t员工通讯录已保存\n"); /* printf("是否返回主菜单(y/n): "); scanf("%s",&sele); switch(sele) { case 'y':system("cls");mainmenu(); break; case 'n':system("cls");save(); break;

}*/

system("pause");

mainmenu();

}

/******信息输出******/

void lead()

{FILE *fp;

fp=fopen("Employee directory.txt","rb"); int t;

for(int i=0;inext=NULL; q=head;

fscanf(fp," %-5s %-10s %-15s %-15s %-30s

\n",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

printf("\n\t\t\t员工通讯录已导入\n"); q->next=p; } fclose(fp); q=p; q->next=NULL;

*/

/*printf("是否返回主菜单(y/n): "); scanf("%s",&sele); if(sele=='y' ) { } else { } system("cls"); mainmenu(); system("pause"); mainmenu();

}

员工通讯录管理系统

用线性表制作员工通讯录管理系统:

头文件:ehead.h

#include

#include

#include

#include

#include

extern void mainmenu();

extern void project();

extern void input();

extern void search();

extern void change();

extern void insert();

extern void Delete();

extern void save();

extern void lead();

//主菜单 //信息输入 //信息查找 //信息修改 //信息插入 //信息删除 //信息保存 //信息导出

main函数:

# include "ehead.h"

int main()

{

printf("\n\n\n\n\n\n\n\n\t\t▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼system("cls"); system("color 5e"); ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼\n");

printf("\t\t\t\t\t员工通讯录管理系统\n"); printf("\t\t▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲\n\n");

printf("\t\t\t\t\t"); system("pause"); mainmenu(); getchar(); printf("\t\t\t\t\t 软件工程1302班\n\n"); printf("\t\t\t\t\t 王瑞琦\n\n");

return 0;

}

功能函数部分:

# include "ehead.h"

FILE *fp;

typedef struct

{

char num[5];

char name[10];

char phone[15];

char call[15];

char e_mail[30];

}DataType;

typedef struct node

{

DataType data;

struct node *next;

}ListNode,*LinkList;

/*员工通讯信息的结构类型定义*/ /*员工编号*/ /*员工姓名*/ /*办公室电话号码*/ /*手机号码*/ /*电子邮箱*/ /*结点的数据域*/ /*结点的指针域*/

node *head,*p,*q,*e;

/*******信息输入******/

int b;

int i=0;

char sele;

void input()

{

printf("请输入员工数: "); scanf("%d",&b); printf("\n\n\t\t\t***输入信息***\n"); for(i=0;inext=NULL; q=head;

p=(LinkList)malloc(sizeof(ListNode)); printf("\n\n\t\t\t员工编号:"); scanf("%s",&p->data.num); printf("\n\t\t\t员工姓名:"); scanf("%s",p->data.name); printf("\n\t\t\t办公室电话:"); scanf("%s",&p->data.phone); printf("\n\t\t\t手机号码:"); scanf("%s",&p->data.call); printf("\n\t\t\t电子邮箱:"); scanf("%s",&p->data.e_mail);

q->next=p;

getchar(); q=p; q->next=NULL;

//显示信息部分

printf("\n\n\t员工编号\t员工姓名\t办公室电话\t手机号码\t电子邮箱\n");

printf("\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf(" %-5s %-10s %-15s %-15s p=head->next; while(p) { %-30s

",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

printf("\n"); if(p->next==NULL) {

} p=p->next; } printf("\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

}

/******信息查询******/ printf("\t\t\t\t\t是否确定信息(y/n): "); scanf("%c",&sele); if(sele=='y') system("cls");mainmenu(); //返回主菜单部分

void search()

{

int m; //m设为选择方式 p=head->next; printf("\n\n\t\t\t**查询通讯录记录**\n"); printf("\n\t\t\t请选择查询方式:\n");

printf("\t\t\t~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf("\t\t\t# 1------编号 #\n");

printf("\t\t\t# 2------姓名 #\n");

printf("\t\t\t# 0------返回主菜单 #\n");

printf("\t\t\t~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf("\t\t\t请选择:");

scanf("%d",&m);

if(m==1) goto A; if(m==2) goto B; if(m==0) system("cls");

char c[5];

int a;

A: system("cls");

node *p;

p =head->next;

printf("\n\n\n\n\n\n\n\t\t\t================================================\n");

printf("\t\t\t\t请输入你要查找的员工编号: ");

for(a=0;a

{ if(strcmp(p->data.num,c)==0) { scanf("%s",&c);

printf("\n\n\t员工编号\t员工姓名\t员工电话\t 员工手机\t\t电子邮箱\n");

printf("\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf(" %-5s %-10s %-15s %-15s %-30s

",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

printf("\n");

printf("\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf("\t\t\t\t是否返回主菜单(y/n): "); scanf("%s",&sele); switch(sele) { case 'y':system("cls");mainmenu();

case 'n':system("cls");search(); } break; } p=p->next; }

B:system("cls");

p =head->next;

printf("\n\n\n\n\n\n\n\t\t\t================================================\n");

printf("\t\t\t\t请输入你要查找的员工姓名: ");

scanf("%s",&c);

for(a=0;a

printf("\n\n员工编号\t员工姓名\t员工电话\t 员工手机{ if(strcmp(p->data.name,c)==0) { \t\t电子邮箱\n");

printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf(" %-5s %-10s %-15s %-15s %-30s

",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

printf("\n");

printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

}

printf("是否返回主菜单(y/n): "); scanf("%s",&sele); switch(sele) { case'y':system("cls");mainmenu(); break; case'n':system("cls");search(); }; break; } p=p->next; }

/******修改信息******/

void change()

{

int m=0; int a,f;

node *p;

C:char c[5];

p =head->next;

printf("\n\n\n\n\n\n\n\t================================================\n");

printf("\t请输入你要查找的员工编号或姓名: ");

for(a=0;a

{ //printf("%d",b); if(strcmp(p->data.num,c)==0||strcmp(p->data.name,c)==0) { scanf("%s",&c);

printf("\n\n\t员工编号\t员工姓名\t员工电话\t 员工手机\t\t电子邮箱\n");

printf("\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf(" %-5s %-10s %-15s %-15s %-30s

",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

break; printf("\n");

printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

} p=p->next;

}

D: if(b=0)

{

printf("没有此人信息");

}

else

{

if(f==1) { system("cls"); printf("%d",b); printf("AAA"); printf("\n\n\t\t\t**修改通讯录记录**\n"); printf("\t\t\t1.---确认修改\n"); printf("\t\t\t2.---返回重新查找\n"); printf("\t\t\t**********************\n"); printf("\t\t\t请选择: "); scanf("%d",&f);

E: printf("\n\n\n\t\t请输入修改后的员工信息\n"); printf("\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("员工编号:");

scanf("%s",p->data.num);

printf("\n员工姓名:");

scanf("%s",p->data.name);

printf("\n办公室电话:");

scanf("%s",p->data.phone);

printf("\n手机号码:");

scanf("%s",p->data.call);

printf("\n电子邮箱:");

scanf("%s",p->data.e_mail);

} if(f==2) //system("cls"); goto C;

}

printf("\n\n员工编号\t员工姓名\t员工电话\t 员工手机\t\t电子邮箱\n");

printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf(" %-5s %-10s %-15s %-15s %-30s

",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

printf("\n");

printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

printf("是否确定修改信息(y/n): "); scanf("%s",&sele);

{

case'y':system("cls");mainmenu();

}

/******信息插入******/

void insert()

{

int j; node *p;

head=(LinkList)malloc(sizeof(ListNode)); } break; break; case'n':system("cls");change(); F://

printf("\n\t\t\t**插入通讯录记录**\n");

p=(LinkList)malloc(sizeof(ListNode));

printf("\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

p->next=head->next; head->next=p; printf("\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("\t\t\t****插入成功!***\n"); printf("\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("\n请输入员工信息:"); printf("\t\t员工编号: "); scanf("%s",&p->data.num); printf("\t\t\t员工姓名: "); scanf("%s",p->data.name); printf("\t\t\t手机号码: "); scanf("%s",&p->data.phone); printf("\t\t\t电话号码: "); scanf("%s",&p->data.call); printf("\t\t\t电子邮箱: "); scanf("%s",&p->data.e_mail);

}

printf("\t\t\t是否继续插入信息(y/n): "); scanf("%s",&sele); switch(sele) { } case'y':system("cls");insert(); break; case'n':system("cls");mainmenu(); break;

/******删除信息******/

void Delete()

{

system("cls");

node *p,*x; p =head->next; int m=0; char s[5]; printf("请输入要查找的编号:"); scanf("%s",&s); for(int k=0;kdata.num,s)==0) { printf("\n\n\t员工编号\t员工姓名\t员工电话\t 员工手b++; 机\t\t电子邮箱\n");

printf("\t*************************************************************************************\n");

printf(" %-5s %-10s %-15s %-15s

%-30s

",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

printf("\n");

printf("\t*************************************************************************************\n");

} break;

p=p->next;

int g; } if(m!=0) { } else { } //printf("没有该信息!");

printf("\n\n\t\t\t1.确认删除\n\t\t\t2.返回菜单\n"); printf("请选择: "); scanf("%d",&g); switch(g) { case 1:{ p =head->next; x = p; while(p->next&&(strcmp(p->data.num,s)!=0)) { } if(p->next) { } else if(p->next==NULL) x->next=p->next; free(p); printf("\n****删除成功!****\n"); x = p; p=p->next;

x->next=NULL; printf("\n****删除成功!****\n");

}

else

printf("

system("cls");

system("pause");

mainmenu();

}

break;

case 2:system("cls");mainmenu();

break;

}

}

\n!");

/******信息保存******/

void save()

{

if(head==NULL) printf("错误"); } exit(1); if((fp=fopen("Employee directory.txt","wb"))==NULL) { printf("cannot open this Employee directory.\n"); FILE *fp; int i;

p=head;

p=p->next;

do

{

fprintf(fp," %-5s %-10s %-15s %-15s %-30s

\n",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

p=p->next;

}while(p!=NULL); fclose(fp); printf("\n\t\t\t员工通讯录已保存\n"); /* printf("是否返回主菜单(y/n): "); scanf("%s",&sele); switch(sele) { case 'y':system("cls");mainmenu(); break; case 'n':system("cls");save(); break;

}*/

system("pause");

mainmenu();

}

/******信息输出******/

void lead()

{FILE *fp;

fp=fopen("Employee directory.txt","rb"); int t;

for(int i=0;inext=NULL; q=head;

fscanf(fp," %-5s %-10s %-15s %-15s %-30s

\n",p->data.num,p->data.name,p->data.phone,p->data.call,p->data.e_mail);

printf("\n\t\t\t员工通讯录已导入\n"); q->next=p; } fclose(fp); q=p; q->next=NULL;

*/

/*printf("是否返回主菜单(y/n): "); scanf("%s",&sele); if(sele=='y' ) { } else { } system("cls"); mainmenu(); system("pause"); mainmenu();

}


相关内容

  • 单位员工通讯录管理系统
  • 单位员工通讯录管理系统(线性表的应用) [需求分析] 为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的办公室电话.手机号.及电子邮箱. [问题要求] 其功能包括通讯录链表的建立.员工通讯信息的查询.修改.插入与删除.以及整个通讯录表的输出. [问题分析] 为建立单位员工通讯录系统,首先 ...

  • 企业通讯录系统
  • 企 业 通 讯 录 系 统 小组成员: 余浩 刘勇 时间: 2015年10月 假设现在你收到老板的指令,要求完成一个员工通讯录,所有员工都可以通过内部网查询这个通讯录.这时你会发现,需求就这么一句话,而这个通讯录系统需要你去完善需求,一切都需要你去构思. 首先,这样的项目就是IT部门的事情,和公司的 ...

  • 员工工资与津贴管理办法
  • 一.总 则 为建立科学有效的激励与约束机制,充分调动员工的积极性和创造性,促进集团规范.健康.快速和可持续发展,并结合集团当前的实际情况,特制定本办法. 本办法的适用对象为集团所属各子公司.分公司和办事处的所有正式聘用(含试用期)员工,临时劳务性工人暂不适用于本办法,其工资给付可采用协议工资制,必要 ...

  • 企业内刊创刊方案
  • 企业内刊创刊策划书 为进一步弘扬公司的企业文化,树立起公司正面形象,增强员工的归属感,搭建公司管理人员和广大员工的沟通平台,推动公司企业文化建设持续健康发展,最终达到以文化管理企业的目的,结合公司实际情况,企业文化部计划创建公司内部刊物,具体方案如下: 一.创刊的价值 企业内部刊物是企业文化的一种重 ...

  • 国税局关于通讯费补贴的问答
  • 企业广大员工发生的通讯费用支出,是一项既涉及企业利益又涉及员工个人利益的普遍花销.又因其属于地税管辖范围,各地的规定又有差异,就显得比较复杂.我们不揣浅陋,结合国家税总及各地相关政策,谈一下通讯费用的财税处理,以及税务稽查的要点和节税筹划思路. 1.通讯费用的涉税问题 通讯费用又称通讯补贴收入,是指 ...

  • 综交通.通讯补贴管理办法
  • **** 通讯.交通补贴管理办法 第一章 总则 第一条 为进一步完善****(以下简称公司)的通讯.交通费用管理,规范相应的补贴标准,本着高效.合理.节约的原则,特制订本办法. 第二章 适用范围 第二条 本办法涉及的人员包括以下范围: (一)公司正式编制员工: (二)公司托管的项目公司员工: (三) ...

  • 通讯费管理办法
  • 集团公司 总部员工通讯费用管理办法 所属各单位: 为进一步加强通讯管理,合理控制费用支出,保证通讯畅通,现将<集团公司总部员工通讯费用管理办法>予以下发.请遵照执行. 集团公司 2015年11月13日 集团公司 总部员工通讯费用管理办法 第一章 总则 第一条 为进一步规范职务履职待遇.业 ...

  • 公司通讯管理制度
  • x公司通讯管理制度 第一条:为了提高公司的经营管理,节约成本费用,加强对公司各种通讯工具的管理,特制订本制度。第二条:本制度所指各种通讯工具包括电话总机、电话分机、直线电话、传真机、移动电话以及为员工配备的电子邮箱等。第三条:公司的各种通讯工具主要是作为方便与外界沟通、方便开展业务,公司不提倡员工利 ...

  • 通讯管理制度
  • 公司通讯管理制度 为节约成本费用,加强对公司各项通讯工具的管理,特制定本制度. 一.定义: 公司通讯工具主要包括公司座机电话.传真,中国移动.中国联通.中国电信网络使用的各类手机或移动通讯工具. 二.职责 1.公司通讯设备的管理由办公室负责,其中:办公室主任对通讯费用进行管控.网络管理员保障通讯服务 ...