员工通讯录管理系统
用线性表制作员工通讯录管理系统:
头文件: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();
}