欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

手机电话簿管理系统设计(C语言课程设计)

程序员文章站 2022-04-11 12:57:23
...

需要创建一个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();
}

手机电话簿管理系统设计(C语言课程设计)

手机电话簿管理系统设计(C语言课程设计)

相关标签: 课程设计