手機電話簿管理系統設計(C語言課程設計)

需要創建一個person.txt 文件

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 15
struct person
{
   char name[10] ;
   char phone[11];
   char classes[10];
   char email[20];
}ren[N];
int Load()
{
    int i=0;
    FILE *fp;
    if((fp=fopen("D:\\person.txt","r"))==NULL)
       {
           printf("通訊錄沒有聯繫人\n");
       }
       else
        {
           while(!feof(fp))
            {
                fscanf(fp,"%s%s%s%s",ren[i].name,ren[i].phone,ren[i].classes,ren[i].email);
                i++;
            }
        }
        fclose(fp);
        return i;
}
int main()
{
    int n,m=1;
    do
    {
        printf("             **********通訊錄**********\n");
        printf("                    1.查詢聯繫人\n");
        printf("                    2.增加聯繫人\n");
        printf("                    3.修改聯繫人\n");
        printf("                    4.刪除聯繫人\n");
        printf("                    5.查看全部人員\n");
        printf("             **************************\n");
        printf("                   請選擇您的選項\n");
        scanf("%d",&n);
        if(n<=5&&n>=1)
        {
            m=1;
        }
        else
        {
            m=0;
            getchar();
            printf("請輸入正確選項\n");
        }
    }while(m==0);
    switch(n)
    {
    case 1:
        chaxun();//查看模塊
        break;
    case 2:
        jia();//增加模塊
        break;
    case 3:
        gai();//修改模塊
        break;
    case 4:
        shan();//刪除模塊
        break;
    case 5:
        kan();//顯示模塊
        break;
    }
    return 0;
}
void chaxun()
{
    FILE *fp;
    int k=1,i,n=Load();
    char classes[10];
    printf("辦公類\n個人類\n商務類\n請輸入您想要查詢的的人屬於的類別:\n");
    scanf("%s",classes);
    if((fp=fopen("D:\\person.txt","r+"))==NULL)
   {
       printf("通訊錄沒有聯繫人\n");
   }
    for(i=0;i<n;i++)
    {
        if(strcmp(classes,ren[i].classes)==0)
        {
            k=0;
            printf("\n%s  %s\n",ren[i].name,ren[i].phone);

        }
    }
    if(k==1)
    {
        printf("該類沒有聯繫人\n");
    }
     main();
}
void jia()
{
   printf("請輸入您的聯繫人信息\n");
   int i,n=Load(),k=1;
   FILE *fp;
   char name[10] ;
   char phone[11];
   char classes[10];
   char email[20];
   scanf("%s %s",name,phone);
   if((fp=fopen("D:\\person.txt","r+"))==NULL)
   {
       printf("通訊錄沒有聯繫人\n");
   }
   for(i=0;i<n;i++)
   {
       if(strcmp(name,ren[i].name)==0&&strcmp(phone,ren[i].phone)==0)
       {
           printf("聯繫人已經存在\n");
           k=0;
       }
   }
   if(k==1)
   {
       if(i<=15)
   {
       scanf("%s %s",classes,email);
   }
   else
   {
       printf("空間已滿");
   }
   }
   fseek(fp,0,2);
   fprintf(fp,"\n%s %s %s %s\n",name,phone,classes,email);
   fclose(fp);
   main();
}
void  gai()
{
    FILE *fp;
    int n=Load();
    int i;
    int k=1;
    char name[10];
    int g;
    printf("請輸入想要修改聯繫人的姓名:\n");
    scanf("%s",name);
    if((fp=fopen("D:\\person.txt","r+"))==NULL)
    {
        printf("通訊錄沒有聯繫人\n");
    }
    for(i=0;i<n;i++)
    {
        if(strcmp(name,ren[i].name)==0)
        {
           k=0;
           printf("1.名字\n2.電話\n3.分類\n4.郵箱\n5.修改完畢\n請輸入您的選項:\n");
               scanf("%d",&g);
               if(g<1||g>5)
               {
                   printf("請輸入正確選項!\n");
               }
               else if(g==5)
               {
                   break;
               }
               else
               {
                   switch(g)
                   {
                   case 1:
                    printf("名字:");
                    scanf("%s",ren[i].name);
                    break;
                   case 2:
                    printf("電話:");
                    scanf("%s",ren[i].phone);
                    break;
                   case 3:
                    printf("分類:");
                    scanf("%s",ren[i].classes);
                    break;
                   case 4:
                    printf("郵箱:");
                    scanf("%s",ren[i].email);
                    break;
                   }
               }
           }
        }
    if(k==1)
    {
        printf("沒有找到該聯繫人!\n");
    }
    for(i=0;i<n;i++)
    {
        fprintf(fp,"%s %s %s %s\n",ren[i].name,ren[i].phone,ren[i].classes,ren[i].email);
    }
    fclose(fp);
    main();
}
void shan()
{
  FILE *fp;
  int i,n=Load(),p,k=1;
  char name[10] ;
  printf("請輸入您需要刪除的聯繫人的名字:\n");
  scanf("%s",name);
  if((fp=fopen("D:\\person.txt","w"))==NULL)
  {
      printf("通訊錄沒有聯繫人!\n");
  }
  for(i=0;i<n;i++)
  {
      if(strcmp(name,ren[i].name)==0)
      {
          p=i;
          k=0;
      }
  }
  if(k==1)
  {
      printf("沒有找到該聯繫人\n");
  }
  else{
    for(i=0;i<n;i++)
    {
        if(i!=p)
        {
            fprintf(fp,"%s %s %s %s\n",ren[i].name,ren[i].phone,ren[i].classes,ren[i].email);
        }
    }
  }
  fclose(fp);
  main();
}
void kan()
{
    int i,n=Load();
    for(i=0;i<n;i++)
    {
        printf("%s %s %s %s\n",ren[i].name,ren[i].phone,ren[i].classes,ren[i].email);
    }
    main();
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章