通讯录管理系统课设使用c编写基于链表增查删改分组文本操作随程序实时同步

批注 2020-12-27 104847.png

通讯录管理系统已经有好多人写过了 但是基于文本操作大多数只有从文件中输出和输入并不是即时的 解决方法是将链表里的数据输出以结构体的方式到文本 读入应该以一样的方式

增加个人信息函数定义 
void AddStu()
{ 
   //分配存储空间
   CommHma *p=(CommHma*)malloc(sizeof(CommHma));
   printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓ \n");
   printf("┃     请输入个人信息                                 ┃\n");
   printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛ \n");
   printf("请输入号码(最大长度为%d个字符)\n",MAX_ID-1);
   scanf("%s", p->data.id);
  while(FindStu(p->data.id)==1)
  { 
        printf("\t\t\t\t\t-此人已经存在,请重新输人\n\t\t\t\t\t->");
        scanf("%s", p->data.id);
  }
  printf("\t\t\t\t\t请输人姓名(最大长度为%d个字符)\n\t\t\t\t\t->",MAX_NAME-1);
  scanf("%s", p->data.name);
  printf("\t\t\t\t\t-请输人性别('男'或'女')\n\t\t\t\t\t->");
  scanf("%s",p->data.sex);
  printf("请输入分组",p->data.group);
  scanf("%s",p->data.group);
  p->next=Info;

  Info=p;
  printf("  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
  printf("  ┃┃      添加成功!         ┃                        ┃\n");
  printf("  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
}

文本读写操作 关键步骤

从文件读出通讯录信息函数定义 
void ReadFile()
{
    CommHma *p;
    char id[MAX_ID];
    FILE *pf=fopen("score.txt","r");      //以读方式打开文件
    if(!pf) return;                      //打开文件失败
    //从文件中逐一读出每一联系人信息
    while(fscanf(pf,"%s",id)!=EOF)
    {
        p=(CommHma*)malloc(sizeof(CommHma));
        strcpy(p->data.id,id);
        fscanf(pf,"%s",p->data.name);
        fscanf(pf,"%s",p->data.sex);
        fscanf(pf,"%s",p->data.group);
        //将每一学生信息(结点)加入到链表中
        p->next=Info;
        Info=p;
        p=NULL; 
     } 
     fclose(pf);                        //关闭文件 
}

//将信息写入文件函数定义 
void WriteFile()
{
    CommHma *p=Info;
    FILE *pf=fopen("score.txt","w");                 //以写方式打开文件 
    if(!pf)return;                                 //打开文件失败 
    while(p)                                       //将链表中的每一结点(联系点)写入文件 
    {
        fprintf(pf,"%s\n",p->data.id);
        fprintf(pf,"%s\n",p->data.name);
        fprintf(pf,"%s\n",p->data.sex);
        fprintf(pf,"%s\n",p->data.group);
        p=p->next;
    }
    fclose(pf);                                   //关闭文件 
}

运行截图


在这里插入图片描述
在这里插入图片描述

完整程序下载链接:https://download.csdn.net/download/RONNIE_Zz/13856413

你可能感兴趣的:(通讯录管理系统课设使用c编写基于链表增查删改分组文本操作随程序实时同步)