⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 txl2.c

📁 一个功能强大的通讯录管理系统软件
💻 C
字号:
 #include <stdio.h> 
#include <stdio.h> 
#include <string.h> 
#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<maxlen;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); 
     }  
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -