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

📄 txl3.c

📁 一个功能强大的通讯录管理系统软件
💻 C
字号:
 
                 /*同学通讯录*/ 
#include <stdio.h> 
#include <string.h> 

struct  friends/*定义数据结构*/ 
{ 
  char   name[20];/* 联系地址*/ 
  char   tel[12]; 
  char   e_mail[50];/*电子邮件*/ 
  char   address[40];/* 联系地址*/ 

}frd[40]; /*定义结构体数组*/ 

int r_cnt=0; 
int add_cnt=0 ; 

int   add(); 
void  cha_zhao(); 
void  list(); 
void  modify(); 
int   del (); 
void  exit_asd (); 
void  save(); 
void  list(); 
void  load(); 
int  find(struct friends frd[],char tel[]); 


main() 
{ 
 load(); 
 clrscr(); 
 for(;;) 
   { 
     switch(menu_book()) 
     { 

       case 1 :  add()      ;  break; 
       case 2 :  cha_zhao() ;  break; 
       case 3 :   modify()  ;  break; 
       case 4 :   del()     ;  break; 
       case 5 :   exit_asd();  break; 
       case 6 :   list ()   ;  break; 
     } 
   } 
} 
 int menu_book() 
{ 
  int c; 
   printf("*******************MENU******************\n"); 
   printf("*                                       *\n"); 
   printf("*                                       *\n"); 
   printf("*          1.add                        *\n"); 
   printf("*                                       *\n"); 
   printf("*          2.cha_zhao                   *\n"); 
   printf("*                                       *\n"); 
   printf("*          3.modify                     *\n"); 
   printf("*                                       *\n"); 
   printf("*          4.delete                     *\n"); 
   printf("*                                       *\n"); 
   printf("*          5.exit                       *\n"); 
   printf("*                                       *\n"); 
   printf("*          6.list                       *\n"); 
   printf("*                                       *\n"); 
   printf("*                                       *\n"); 
   printf("*****************************************\n"); 
   do 
  {printf("\n\n   enter you choice(0-6):"); 
    scanf("%d",&c); } 
  while(c<0||c>6); 
  return c; 
} 



void load()/*加载*/ 
{ 
   FILE *fp; 
   int i=0; 
   r_cnt=0; 
   if((fp=fopen("FF.txt","rb"))!=NULL) 
   { 
         while(!feof(fp)) 
       { 
          fread(&frd[i],sizeof(struct friends),1,fp); 
          r_cnt++; 
          printf("%s %s %s %s\n",frd[i].name,frd[i].tel,frd[i].e_mail,frd[i].address); 
          i++; 
       } 
   } 
   else 
     puts("open error!"); 
   fclose(fp); 
} 
void save()/*保存*/ 
{ 
   FILE *fp; 
   int i; 
   if((fp=fopen("FF.txt","a+"))==NULL) 
   { 
      puts("open file error!"); 
      exit(0); 
   } 
   for(i=0;i<add_cnt;i++) 
   { 
      if(fwrite(&frd[i],sizeof(struct friends ),1,fp)==0) 
        puts("write error!"); 

   } 
   fclose(fp); 

} 

void  cha_zhao()/*查找*/ 

{ int i; 
  char  zhi[20]; 
  printf("please  input   tel") ; 
  printf("enter name  or tel to find:\n"); 
  scanf("%s",zhi); 
  for(i=0;i<r_cnt;i++) 
   { 
    if(strlen(frd[i].name )==0||strlen(frd[i].tel)==0) 
    printf("UNLL"); 

   if(strcmp(frd[i].name,zhi )==0 ||strcmp(frd[i].tel,zhi)==0) 
   { 
      printf("%s  %s  %s\n", frd[i].name,frd[i].address,frd[i].tel); 
 
 
  
 作者: C语言通讯录 2006-6-30 19:45   回复此发言    
 
--------------------------------------------------------------------------------
 
2 C语言通讯录源程序  
       break; 
   } 
   printf("no message"); 

   } 
   getch(); 
} 


void list()/*浏览*/ 
{ 
   int i; 
   for(i=0;i<r_cnt;i++) 
   printf("%s  %s  %s  %s\n",frd[i].name,frd[i].tel,frd[i].e_mail,frd[i].address); 
   getch(); 
} 


int find( struct friends frd[],char tel[12])/*为删除而定的查找*/ 
{ 
   int i,p; 

   for(i=0;i<r_cnt;i++) 
   { 
     if(strcmp(frd[i].tel,tel)==0) 
       { 
        p=i; 
        break; 
       } 
     else 
       p=-1; 
       break; 
   } 
   return  p; 
} 
void  modify()/*修改*/ 
{ 
   int p; 
   char name[20]; 
   char e_mail[50]; 
   char address[40]; 
   char tel[12]; 

   printf("please input tel:\n"); 
   scanf("%s",tel); 
   p=find(frd,tel); 
   if(p>-1) 
   { 
     printf("tel  don't   modify!\n"); 
     printf("please new :name,e_mail,address:\n"); 
     scanf("%s%s%s",frd[p].name,frd[p].e_mail,frd[p].address); 


   } 

    getch(); 
} 

void exit_asd() 
{ 
  int num; 
  save(frd); 
  printf("exit?  ,contine__1  ,  exit__0\n"); 
  scanf("%d",&num); 
  if(num==0) 
  { 
   exit(0); 
  } 
  getch(); 
} 


int add()/*增加*/ 
{ 

  int i=0; 
  char ch[20]; 
  while(1) 
  { 
    if(strcmp(ch,"#")==0) 
       break; 
    printf("input name:\n"); 
    scanf("%s",frd[i].name); 
    printf("input tel:\n"); 
    scanf("%s",frd[i].tel); 
    printf("input e_mail:\n"); 
    scanf("%s",frd[i].e_mail); 
    printf("inout address:\n"); 
    scanf("%s",frd[i].address); 
    printf("if you want to stop,please enter '#' or enter other keys to contine:"); 
    scanf("%s",ch); 
    i++; 
  } 
  clrscr(); 
  add_cnt=i; 
  printf("%d\n",add_cnt); 
  printf("name\t\ttel\t\te_mail\t\t\taddress\n"); 
  printf("********************************************************************\n"); 
  for(i=0;i<add_cnt;i++) 
  printf("%s\t\t%s\t\t%s\t\t%s",frd[i].name,frd[i].tel,frd[i].e_mail,frd[i].address); 
  printf("\n\nplease press any key tothe menu:\n"); 
  getch(); 
  return add_cnt; 
} 
int del()/*删除*/ 
{ 
   char s[20]; 
   int ch=0; 
   int i,j; 
   printf("delete tel?\n"); 
   scanf("%s",s); 
   i=find(frd,s); 
   if(i>r_cnt-1) 
      printf("no found!\n"); 
   else 
   { 
      printf("\n\n*******************delete******************************************\n"); 
      printf("name                 tel               e_mail                   address\n"); 
      printf("------------------------------------------------\n"); 
      printf("%s               %s         %s             %s\n",frd[i].name,frd[i].tel,frd[i].e_mail,frd[i].address); 
      printf("************************************************************************\n\n"); 
      printf("Are you sure delete it(1/0)?\n"); 
      scanf("%d",&ch); 
      if(ch==1) 
      { 
     for(j=i+1;j<r_cnt;j++) 
     { 
        strcpy(frd[j-1].name,frd[j].name); 
        strcpy(frd[j-1].tel,frd[j].tel); 
        strcpy(frd[j-1].e_mail,frd[j].e_mail); 
        strcpy(frd[j-1].address,frd[j].address); 
     } 
     r_cnt--; 
      } 
   } 
   return r_cnt; 
}  
 

⌨️ 快捷键说明

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