You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

331 lines
6.9 KiB

6 years ago
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<dos.h>
#define LEN sizeof(struct linkman)
#define FORMAT "\t%-10s%-10s%-15s%-15s%-20s\n\n" //<2F><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
#define DATA peo[i].name,peo[i].birthplace,peo[i].tel_1,peo[i].tel_2,peo[i].email //<2F><EFBFBD><EAB6A8><EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
struct linkman
{
char name[10];
char birthplace[10];
char tel_1[15];
char tel_2[15];
char email[20];
};
struct linkman peo[100];
void addman();
void queryman();
void delman();
void update();
void outputman();
void menu();
void menu()//<2F>˵<EFBFBD>ģ<EFBFBD><C4A3>
{
system("cls");
printf("\n\t\t**********ͨѶ¼<D1B6><C2BC><EFBFBD><EFBFBD>ϵͳ*********\n");
printf("\t\t<EFBFBD><EFBFBD>-------------------------------<2D><>\n");
printf("\t\t<EFBFBD><EFBFBD> 1.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5> <20><>\n");
printf("\t\t<EFBFBD><EFBFBD> 2.<2E><>ѯ<EFBFBD><D1AF>ϵ<EFBFBD><CFB5> <20><>\n");
printf("\t\t<EFBFBD><EFBFBD> 3.ɾ<><C9BE><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5> <20><>\n");
printf("\t\t<EFBFBD><EFBFBD> 4.<2E>޸<EFBFBD><DEB8><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>Ϣ <20><>\n");
printf("\t\t<EFBFBD><EFBFBD> 5.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>б<EFBFBD> <20><>\n");
printf("\t\t<EFBFBD><EFBFBD> 0.<2E>˳<EFBFBD> <20><>\n");
printf("\t\t<EFBFBD><EFBFBD>-------------------------------<2D><>\n");
printf("\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0-5):");
}
void tou() //<2F>б<EFBFBD>ͷ
{ system("cls");
printf("\n");
printf("*******************************<2A><>ϵ<EFBFBD><CFB5><EFBFBD>б<EFBFBD>**********************************\n\n");
printf("\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t <20><><EFBFBD><EFBFBD>\t <20><EFBFBD><E7BBB0><EFBFBD><EFBFBD>1\t <20><EFBFBD><E7BBB0><EFBFBD><EFBFBD>2\t <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n\n");
}
void wei() //<2F>б<EFBFBD>β
{
printf("\n***************************************************************************\n\n");
}
int main ()
{
system("mode con: cols=75 lines=30");//<2F><><EFBFBD>ô<EFBFBD><C3B4>ڴ<EFBFBD>С
int n;
menu();
scanf("%d",&n);
while(n)
{
switch(n)
{
case 1:
addman();
getch();
break;
case 2:
queryman();
getch();
break;
case 3:
delman();
getch();
break;
case 4:
update();
getch();
break;
case 5:
outputman();
getch();
break;
default:break;
}
menu();
scanf("%d",&n);
}
}
void addman()
{
FILE *p1;
int i,n,count=0; // countΪ<74><CEAA>ϵ<EFBFBD>˸<EFBFBD><CBB8><EFBFBD>
if ((p1=fopen("D:\\<EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>Ŀ\\linkman.txt","a+"))==NULL) //<2F><><EFBFBD><EFBFBD>linkman<61>ļ<EFBFBD>
{
printf("<EFBFBD><EFBFBD><EFBFBD>ܴ򿪴<EFBFBD><EFBFBD>ļ<EFBFBD>");
exit(0);
}
while(!feof(p1)) //feofΪ<66><CEAA><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
if(fread(&peo[count],LEN,1,p1)==1)
count++;
}
fclose(p1); //<2F>ر<EFBFBD><D8B1>ļ<EFBFBD>
if(count==0)
printf("\n\t<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>Ϊ<EFBFBD><EFBFBD>!\n\n");
else
{
system("cls"); //<2F><><EFBFBD><EFBFBD>
outputman();
}
if ((p1=fopen("D:\\<EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>Ŀ\\linkman.txt","wb"))==NULL)//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>Ʒ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>linkman<61>ļ<EFBFBD>
{
printf("\t<EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>\n");
return;
}
for(i=0;i<count;i++)
fwrite(&peo[i],LEN,1,p1);
printf("\t<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>ˣ<EFBFBD>1 or 0):");
scanf("%d",&n);
while(n==1)
{
printf("\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ:\n\n");
printf("\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
scanf("%s",&peo[count].name);
for(i=0;i<count;i++)//<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>
{
if(strcmp(peo[i].name,peo[count].name)==0)
{
printf("\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><EFBFBD>ڣ<EFBFBD>\n");
getch();
fclose(p1); //<2F>ر<EFBFBD><D8B1>ļ<EFBFBD>
return; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
}
}
printf("\n\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "); //<2F><><EFBFBD><EFBFBD><EBBCAE>
scanf("%s",&peo[count].birthplace);
printf("\n\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1: "); //<2F><><EFBFBD><EFBFBD>number1
scanf("%s",&peo[count].tel_1);
printf("\n\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2: "); //<2F><><EFBFBD><EFBFBD>number2
scanf("%s",&peo[count].tel_2);
printf("\n\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
scanf("%s",&peo[count].email);
fwrite(&peo[count],LEN,1,p1);
printf("\n\t%s <20><><EFBFBD>ӳɹ<D3B3>!\n",peo[count].name);
count++; //<2F><>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>һ
n=0;
}
fclose(p1);
return;
}
void queryman()
{
FILE *p1;
int i,n=1,m,count=0,flag=1;
if ((p1=fopen("D:\\<EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>Ŀ\\linkman.txt","rb"))==NULL)//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>Ʒ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>linkman<61>ļ<EFBFBD>
exit(0);
while(!feof(p1))//<2F>ж<EFBFBD><D0B6>Ƿ񵽴<C7B7><F1B5BDB4>ļ<EFBFBD>β<EFBFBD><CEB2>
if(fread(&peo[count],LEN,1,p1)) //<2F><><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD>
count++;
fclose(p1);
if(count==0)
{
printf("<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>\n");
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
return;
}
while(n)
{
outputman();
while(flag!=0)
{ system("cls");//<2F><><EFBFBD><EFBFBD>
printf("\n\t\t**********<2A><>ѯ<EFBFBD><D1AF>ʽ***********\n");
printf("\t\t<EFBFBD><EFBFBD>-------------------------------<2D><>\n");
printf("\t\t<EFBFBD><EFBFBD> 1.<2E><><EFBFBD><EFBFBD> <20><>\n");
printf("\t\t<EFBFBD><EFBFBD> 2.<2E><><EFBFBD><EFBFBD> <20><>\n");
printf("\t\t<EFBFBD><EFBFBD> 3.<2E>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>1 <20><>\n");
printf("\t\t<EFBFBD><EFBFBD> 4.<2E><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>2 <20><>\n");
printf("\t\t<EFBFBD><EFBFBD> 5.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>\n");
printf("\t\t<EFBFBD><EFBFBD> 0.<2E><><EFBFBD><EFBFBD> <20><>\n");
printf("\t\t<EFBFBD><EFBFBD>-------------------------------<2D><>\n");
printf("\n\t\t<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ʽ:");
scanf("\t\t%d",&m);//ѡ<><D1A1><EFBFBD><EFBFBD>ѯʽ
if(m==1)
{
char name[15];
printf("\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>");
scanf("%s",name);
for(i=0;i<=count;++i)
{
if(strcmp(name,peo[i].name)==0)
{ tou();
printf(FORMAT,DATA);
getch();
}
if(count==i)
{
printf("\n\t\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>\n\t\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
getch();
}
}
}
if(m==2)
{
char bp[15];
printf("\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
scanf("%s",bp);
for(i=0;i<=count;i++)
{
if(strcmp(bp,peo[i].birthplace)==0)
{ tou();
printf(FORMAT,DATA);
}
if(count==i)
{
printf("\t\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>\n\t\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
getch();
}
}
}
if(m==3)
{
char num1[15];
printf("\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
scanf("%s",num1);
for(i=0;i<=count;i++)
{
if(strcmp(num1,peo[i].tel_1)==0)
{ tou();
printf(FORMAT,DATA);
}
if(count==i)
{
printf("\t\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>\n\t\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
getch();
}
}
}
if(m==4)
{
char num2[15];
printf("\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
scanf("%s",num2);
for(i=0;i<=count;i++)
{
if(strcmp(num2,peo[i].tel_2)==0)
{ tou();
printf(FORMAT,DATA);
}
if(count==i)
{
printf("\t\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>\n\t\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
getch();
}
}
}
if(m==5)
{
char mail[20];
printf("\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>");
scanf("%s",mail);
for(i=0;i<=count;i++)
{
if(strcmp(mail,peo[i].email)==0)
{ tou();
printf(FORMAT,DATA);
}
if(count==i)
{
printf("\t\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>\n\t\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
getch();
}
}
}
if(m==0)
{
flag=0;
n=0;
}
}
}
}
void update() //<2F>޸<EFBFBD><DEB8><EFBFBD>ϵ<EFBFBD>˺<EFBFBD><CBBA><EFBFBD>ģ<EFBFBD><C4A3>
{
}
void delman()
{
}
void outputman()
{
FILE *p1;
int i,count=0;
if ((p1=fopen("D:\\<EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>Ŀ\\linkman.txt","rb"))==NULL)//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>Ʒ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>linkman<61>ļ<EFBFBD>
exit(0);
while(!feof(p1))//<2F>ж<EFBFBD><D0B6>Ƿ񵽴<C7B7><F1B5BDB4>ļ<EFBFBD>β<EFBFBD><CEB2>
if(fread(&peo[count],LEN,1,p1)==1) //<2F><><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD>
count++;
fclose(p1);
tou();
for(i=0;i<count;i++)
printf(FORMAT,DATA);
wei();
}