c语言编程通讯录ppt,看我的C语言编程-通讯录

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include 

#include 

#include 

#define maxlen 100

struct persons

{ char name[10];

char addr[20];

char phnum[10];

}persons[maxlen];

;

;

;

typedef struct lnode{

char name[10];

char addr[20];

char phnum[10];

struct lnode *next;

}listnode,*linklist;

;

;

;

linklist head=NULL,r=NULL;

listnode  *s,*p0,*p1,*p2,*p3,*p4,*p5,*p6,*p7;

int i;

char name1[10],ch;

char str1[20];

FILE *fp; ;

void creat()

{   int j;

long k;

fp=fopen("people.txt","r+t");

if(fp!=NULL)

{for(i=1;i

{ j=fgetc(fp);

if(j==EOF)

return;

k=i-1;

fseek(fp,k*sizeof(struct persons),0);

fread(&persons[i],sizeof(struct persons),1,fp);

s=(linklist)malloc(sizeof(listnode));

strcpy(s->name,persons[i].name);

strcpy(s->addr,persons[i].addr);

strcpy(s->phnum,persons[i].phnum);

if(head==NULL)

head=s;

else

r->next=s;

r=s;}

}

else

{ fp=fopen("people.txt","w");  i=1;

}

}

;

;

;

void List()

{ p1=head;

while(p1!=NULL)

{ printf("\n\n\tname:%s\n",p1->name);

printf("\n\n\taddr:%s",p1->addr);

printf("\n\n\tphnum:%s",p1->phnum);

p1=p1->next;

}

}

;

;

;

void Delete()

{ printf("\n\n\tplease input the name:");

gets(name1);  p4=head;

if(strcmp(p4->name,name1)==0)

{  p4=p4->next;

head=p4;

}

else

{  while(strcmp(p4->next->name,name1)!=0)

p4=p4->next;

p5=p4->next;

p4->next=p5->next;

free(p5);

}

}

;

;

;

void Find()

{   printf("\n\n\tplease input the name:");

p0=head;

gets(name1);

while(strcmp(name1,p0->name)!=0&&p0!=NULL)

p0=p0->next;

if(p0==NULL)

printf("\n\n\tIt is not exit in the addr-book!");

else

{  printf("\n\n\tname:%s\n",p0->name);

printf("\n\n\taddr:%s",p0->addr);

printf("\n\n\tphnum:%s",p0->phnum);

}

}

;

;

;

void Input()

{ s=(linklist)malloc(sizeof(listnode));

printf("\n\n\tplease input the sb's meg:");

printf("\n\n\t\tname:");

scanf("%s",s->name);

printf("\n\n\t\tAddr:");

scanf("%s",s->addr);

printf("\n\n\t\tphnum:");

scanf("%s",s->phnum);

if(head==NULL)

head=s;

else

r->next=s;

r=s;

}

;

;

;

void Alter()

{

int j;

printf("\n\n\tPlease input the name:");

gets(name1);

p3=head;

while(strcmp(name1,p3->name)!=0&&p3!=NULL)

p3=p3->next;

if(p3==NULL)

printf("\n\n\tIt is not exit in the addr-book!");

else

{  printf("\n\n\tplease input the new meg!");

printf("\n\n\t\tname:");

scanf("%s",name1);

strcpy(p3->name,name1);

printf("\n\n\t\tAddr:");

scanf("%s",name1);

strcpy(p3->addr,name1);

printf("\n\n\t\tphnum:");

scanf("%s",name1);

strcpy(p3->phnum,name1);

}

}

;

;

;

void Save()

{ int j;

fp=fopen("people.txt","w");

for(p2=head,j=0;p2!=NULL;j++,p2=p2->next)

{  strcpy(persons[j].name,p2->name);

strcpy(persons[j].addr,p2->addr);

strcpy(persons[j].phnum,p2->phnum);

fwrite(&persons[j],sizeof(struct persons),1,fp);

}

}

;

;

;

void main()

{ creat();

do

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

printf("\n\n\tWELCOME TO USE XIESHENGQING's Address book\n");

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

printf("\n\n\t\tPlease make a choice below:");

printf("\n\t\t1.List all the meg");

printf("\n\t\t2.Delete a piece of meg");

printf("\n\t\t3.Find a piece of meg");

printf("\n\t\t4.Add a piece of meg");

printf("\n\t\t5.Alter a piece of meg");

printf("\n\t\t6.Save and Quit");

printf("\n\t\t7.Create an address book");

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

printf("\tInput Your Choice:");

ch=getche();

switch(ch)

{   case '1':  List();         break;

case '2':  Delete();

break;

case '3':  Find();

break;

case '4':  Input();

break;

case '5':  Alter();

break;

case '7':  Save();

break;

case '6':  creat();

fclose(fp);

exit(0);

break;

default:

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

printf("\n\t        The num should 1-4!!!              \n");

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

break;

}

}while(1);

}

你可能感兴趣的:(c语言编程通讯录ppt)