C语言课程设计-电话簿管理系统

2024-02-29 1040阅读

温馨提示:这篇文章已超过394天没有更新,请注意相关的内容是否还可用!

  • 需求分析:

    1.设计题目:电话本管理系统

    2.系统功能需求分析:

    电话簿管理系统的主体是针对用户的一系列操作,一般来说,主要功能有添加用户,查看用户信息,查找用户信息以及对用户信息的修改等等。

    1. 定义结构体类型
    1. 定义用户信息的结构体类型
    2. 定义用户的双向链表的特点
    1. 添加用户信息

    编写程序接受从键盘输入用户数据,用格式化数据写入函数fprinft直接把用户信息储存到指定文件中

    1. 查看用户信息

    用格式化读出fscanf直接从指定文件中读出用户信息即可

    1. 查找用户信息

    用格式化读出函数fscanf逐步从指定文件中读出数据,用待查找用户信息与读出的数据逐步作对比,直到找到指定用户位置,然后把该用户信息输出出来

    1. 用户的排序
    2. 首先先从指定文件中读出数据,然后用对字符数组的排序的方法进行用户的排序
    3. 用户信息的修改
    4. 先创建用户链表的结点
    5. 其次从指定文件中读出用户数据,把用户数据写入用户双向链表中再次就是输入待修改用户的信息,用对链表的一一般处理方法找到待修改信息的用户的位置,然后用新的用户信息取代之
    6. 7.删除用户信息
    7. 首先输入待删除的用户的信息
    8. 其次查找并确认待删除用户信息的在用户信息双向链表中的位置然后把该用户信息的结点从用户双向链表中删除

    最后保存删除该用户之后的其他用户的信息,即把链表重新连接成-新的链表

    8.头文件

    包含用到的头文件:

    定义符号常量:

    定义结构体等数据结构:

    9.主函数

    包含库文件:

    包含基本操作函数的源文件:

    定义主菜单

    概要设计:

    C语言课程设计-电话簿管理系统

    • 详细设计:
      1. 输入模块。 

      此模块主要完成将数据存入数组中的工作。记录既可以从以文本格式存储的数据文件中读入,也可以从键盘逐个输入。记录由与联系人有关的基本信息字段构成。

      (2)查询模块。

      此模块主要完成在数组中查找满足相关条件的记录。用户可以按照联系人姓名或联系人电话号码在数组中进行查找。

      (3)更新模块。

      此模块主要实现对记录的修改、删除、插入和排序。在进行更新操作之后,需要将修改的数据存入源数据文件。

      (4)输出模块。 

      实现对记录的存盘,并以表格形式将记录信息打印在屏幕上。

      1. 添加新用户
      2. 函数原型: void luru()
      3. 功能:通过格式化数据读写函数,把用户信息写入到指定文件中
      4. 参数: void
      5. 返回值: void
      6. 查看用户信息函数原型: void
      7. 功能:通过从文件中读田用户数据,三把用户数据输出到参数: void
      8. 返回值: void
      9. (3)查找用户信息
      10. 函数原型: void chaxun ()
      11. 功能:通过字符串操作函数确认待查找用户在用户数组中的位置,然后输出其各项信息
      12. 参数: void
      13. 返回值: void
      14. (4)用户的排序

      函数原型: void paixu ()

      功能:通过对字符串数组的操作对用户进行排序

      参数: void

      返回值: void

      (5)用户信息的修改

      函数原型: void xiugai ()

      功能:通过建立用户信息双向链表,用字符串处理函数查找用户位置,然后对其信息进行修改

      参数: void

      返回值: void

      (6)删除用户信息

      函数原型: void shanchu ( )

      功能:通过查找用户在双向链表中的位置,删除指定用户信息

      参数: void

      返回值: void

      • 测试结果:

         C语言课程设计-电话簿管理系统

        程序代码

        #include
        #include 
        #include
        int n=0;
        struct person
        {char name[20];
        char WP[20];
        char PN[20];
        char MPN[20];
        char FZ[20];
        char EM[20];
        char QQ[20];
        };
        void fun1 (struct person b[100],int B[100])
        {int i=0;
        int H;
        do
        {printf("请输入第%d个联系人的信息\n",i+1);
        printf("请输入姓名:");
        scanf("%s",b[B[i]].name); printf("\n");
        printf("请输入工作地址:");
        scanf("%s",b[B[i]].WP); printf("\n");
        printf("请输入固定电话号码:");
        scanf("%s",b[B[i]].PN); printf("\n");
        printf("请输入移动电话号码:");
        scanf("%s",b[B[i]].MPN); printf("\n");
        printf("请输入与本人关系:");
        scanf("%s",b[B[i]].FZ); printf("\n");
        printf("请输入邮箱:");
        scanf("%s",b[B[i]].EM); printf("\n");
        printf("请输入QQ号码:");
        scanf("%s",b[B[i]].QQ); printf("\n");
        i++;n++;
        printf("1继续输入;0退出\n");
        scanf("%d",&H);
        }while(H!=0);
        printf("\n");
        }
        void fun2 (struct person F[100],int h[100])
        {int i=0,t,k,p,m;
        t=n/10;
        printf("所有联系人的信息如下:\n");
        if(t==0)
        {for(i=0;i
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]