#include<stdio.h>
#include <string.h>
#include<stdlib.h>
int n=0;
struct person
{char name[20];
char WP[20];
char PN[20];
char MPN[20];
char FZ[20];
char EM[20];
char QQ[20];
};
void fun1 (struct person b[100],int B[100])
{int i=0;
int H;
do
{printf("請輸入第%d個聯系人的信息\n",i+1);
printf("請輸入姓名:");
scanf("%s",b[B[i]].name); printf("\n");
printf("請輸入工作地址:");
scanf("%s",b[B[i]].WP); printf("\n");
printf("請輸入固定電話號碼:");
scanf("%s",b[B[i]].PN); printf("\n");
printf("請輸入移動電話號碼:");
scanf("%s",b[B[i]].MPN); printf("\n");
printf("請輸入與本人關系:");
scanf("%s",b[B[i]].FZ); printf("\n");
printf("請輸入郵箱:");
scanf("%s",b[B[i]].EM); printf("\n");
printf("請輸入QQ號碼:");
scanf("%s",b[B[i]].QQ); printf("\n");
i++;n++;
printf("1繼續輸入;0退出\n");
scanf("%d",&H);
}while(H!=0);
printf("\n");
}
void fun2 (struct person F[100],int h[100])
{int i=0,t,k,p,m;
t=n/10;
printf("所有聯系人的信息如下:\n");
if(t==0)
{for(i=0;i<n;i++)
printf("姓名:%s\t單位:%s\t固定電話:%s\t移動電話:%s\t分類:%s\t郵箱:%s\tQQ:%s\n",F[h[i]].name,F[h[i]].WP,F[h[i]].PN,F[h[i]].MPN,F[h[i]].FZ,F[h[i]].EM,F[h[i]].QQ);}
else
{for(k=0;k<t;k++)
{for(i=0;i<10;i++)
printf("姓名:%s\t單位:%s\t固定電話:%s\t移動電話:%s\t分類:%s\t郵箱:%s\tQQ:%s\n",F[h[10*k+i]].name,F[h[10*k+i]].WP,F[h[10*k+i]].PN,F[h[10*k+i]].MPN,F[h[10*k+i]].FZ,F[h[10*k+i]].EM,F[h[10*k+i]].QQ);
printf("輸入'1'顯示下一頁\n");
scanf("%d",&p);
if(p==1)
system("cls");}
m=10*t;
for(i=0;m<n;m++)
printf("姓名:%s\t單位:%s\t固定電話:%s\t移動電話:%s\t分類:%s\t郵箱:%s\tQQ:%s\n",F[h[m]].name,F[h[m]].WP,F[h[m]].PN,F[h[m]].MPN,F[h[m]].FZ,F[h[m]].EM,F[h[m]].QQ);}
}
void fun3(struct person d[100],int e[100])
{char x[20],p[2];
int D,i;
do{int m=0;
printf("請輸入要查找的信息:\n");
scanf("%s",&x);
for(i=0;i<n;i++)
if(!strcmp(d[e[i]].name,x)||!strcmp(d[e[i]].WP,x)||!strcmp(d[e[i]].PN,x)||!strcmp(d[e[i]].MPN,x)||!strcmp(d[e[i]].FZ,x)
||!strcmp(d[e[i]].EM,x)||!strcmp(d[e[i]].QQ,x))
{D=e[i];
printf("要查詢的聯系人信息如下:\n");
printf("姓名:%s\t單位:%s\t固定電話:%s\t移動電話:%s\t分類:%s\t郵箱:%s\tQQ:%s\n",d[D].name,d[D].WP,d[D].PN,d[D].MPN,d[D].FZ,d[D].EM,d[D].QQ);}
printf("輸入Y或y繼續查詢,輸入N或n退出\n");
scanf("%s",&p);
}while(!strcmp(p,"Y")||!strcmp(p,"y"));
}
void fun4(struct person c[100],int k[100])
{char d[20]; char p[2];
int t[10],j,i,x;
do{printf("請輸入要刪除的聯系人信息:\n");
scanf("%s",&d);
for(i=0;i<n;i++)
if(!strcmp(d,c[k[i]].name)||!strcmp(d,c[k[i]].WP)||!strcmp(d,c[k[i]].PN)||!strcmp(d,c[k[i]].MPN)||!strcmp(d,c[k[i]].FZ)||!strcmp(d,c[k[i]].EM)||!strcmp(d,c[k[i]].QQ))
j=k[i];
for(x=j;x<n;x++)
k[x]=x+1;
n--;
printf("輸入Y或y繼續,輸入N或n退出\n");
scanf("%s",&p);
}while(!strcmp(p,"Y")||!strcmp(p,"y"));
}
void fun5(struct person b[100],int B[100])
{int H;
do
{printf("請輸入添加聯系人的信息\n");
printf("請輸入姓名:");
scanf("%s",b[B[n]].name); printf("\n");
printf("請輸入工作地址:");
scanf("%s",b[B[n]].WP); printf("\n");
printf("請輸入固定電話號碼:");
scanf("%s",b[B[n]].PN); printf("\n");
printf("請輸入移動電話號碼:");
scanf("%s",b[B[n]].MPN); printf("\n");
printf("請輸入與本人關系:");
scanf("%s",b[B[n]].FZ); printf("\n");
printf("請輸入郵箱:");
scanf("%s",b[B[n]].EM); printf("\n");
printf("請輸入QQ號碼:");
scanf("%s",b[B[n]].QQ); printf("\n");
n++;
printf("1繼續添加;0退出\n");
scanf("%d",&H);
}while(H!=0);
printf("\n");
}
void fun6(struct person T[100],int r[100])
{char p[2],d[20];
int i,t;
do
{printf("請輸入要修改聯系人信息:\n");
scanf("%s",&d);
for(i=0;i<n;i++)
if(!strcmp(d,T[r[i]].name)||!strcmp(d,T[r[i]].WP)||!strcmp(d,T[r[i]].PN)||!strcmp(d,T[r[i]].MPN)||!strcmp(d,T[r[i]].FZ)||!strcmp(d,T[r[i]].EM)||!strcmp(d,T[r[i]].QQ))
{t=r[i];
printf("請輸入改後聯系人的信息\n");
printf("請輸入姓名:");
scanf("%s",T[t].name); printf("\n");
printf("請輸入工作地址:");
scanf("%s",T[t].WP); printf("\n");
printf("請輸入固定電話號碼:");
scanf("%s",T[t].PN); printf("\n");
printf("請輸入移動電話號碼:");
scanf("%s",T[t].MPN); printf("\n");
printf("請輸入與本人關系:");
scanf("%s",T[t].FZ); printf("\n");
printf("請輸入郵箱:");
scanf("%s",T[t].EM); printf("\n");
printf("請輸入QQ號碼:");
scanf("%s",T[t].QQ); printf("\n");
}
printf("輸入Y或y繼續,輸入N或n退出\n");
scanf("%s",&p);
}while(!strcmp(p,"Y")||!strcmp(p,"y"));
}
void main()
{struct person a[100];
int A[100],i,X;
for(i=0;i<100;i++)
A[i]=i;
do
{printf("*************************菜單************************\n");
printf(" 請選擇要進行的操作\n");
printf(" 1 : 輸入聯系人信息\n");
printf(" 2 :分屏顯示所有聯系人信息\n");
printf(" 3 : 查找聯系人信息\n");
printf(" 4 : 刪除聯系人信息\n");
printf(" 5 : 增加聯系人信息\n");
printf(" 6 : 修改聯系人信息\n");
printf(" 0 :退出\n");
scanf("%d",&X);
switch(X)
{case 1: fun1(a,A);break;
case 2: fun2(a,A);break;
case 3: fun3(a,A);break;
case 4: fun4(a,A);break;
case 5: fun5(a,A);break;
case 6: fun6(a,A);break;
}
}while(X!=0);
}