学C的第三十一天【通讯录的实现】-1

简介: 通讯录需求: 实现一个通讯录,通讯录中存放保存人的信息:名字、年龄、性别、电话、地址 通讯录相关功

通讯录需求:

           

实现一个通讯录

通讯录中存放保存人的信息

名字年龄性别

电话地址

           

       通讯录相关功

  • 通讯录中可以存放100个人的信息
  • 增加联系人
  • 删除指定联系人
  • 修改指定联系人
  • 查找指定联系人
  • 显示所有联系人的信息
  • 排序功能

多文件实现通讯录

(1). contact.h文件 -- 相关函数和结构体类型的声明:

             

1 . 结构体 struct PeoInfo -- 存放通讯录联系人的信息:

               

使用 typedef 重命名结构体

struct PeoInfo 重命名PeoInfo

方便后续使用

             

图示:

image.png

2 . 结构体 struct contact -- 通讯录类型:

               

使用 typedef 重命名结构体

                   

创建通讯录信息结构体变量数组

创建一个变量来记录当前通讯录data的人数

                     

图示:                    

da79c2351d76476682d629445a79875f.png

             

3 . 函数 InitContact() 的声明 -- 初始化通讯录类型变量

               

参数接收 -- 通讯录类型变量地址

返回类型 -- void

图示:

image.png

4 . 函数 AddContact() 的声明 -- 增加通讯录成员:

               

参数接收 -- 通讯录类型变量地址

返回类型 -- void

               

图示:

15ff374fda5541c8b96347efb0367ba1.png

5 . 对常量使用进行优化 -- 设置 全局变量 和 枚举

               

(一).

设置 全局变量

contact.h 中,

定义全局变量 MAX 100 -- 设置通讯录最多人数,

其它通讯录信息也是同理

图示:

image.png

(二).

设置 枚举

对测试中,用户输入的选项进行枚举

用对应的功能名字代表对应的选项

               

在 contact.h 文件中设置好后,

在 test.c 文件中进行修改

图示:

image.png

6 . 函数 ShowContact() 的声明 -- 打印通讯录所有成员信息:

               

参数接收 -- const Contact* pc

只是打印,不用修改所以设置为常量

         

返回类型 -- void

图示:

image.png

7 . 函数 FindByName() 的声明 -- 删除指定通讯录成员信息:

               

参数接收 -- 通讯录类型变量地址 要查找的名字字符串

返回类型 -- int,返回找到的元素下标 或 未找到情况的-1

注:

该函数只在 contact.c文件 中支持其它函数,
为了保密可以不在该文件声明

             

图示:        

image.png

8 . 函数 DelContact() 的声明 -- 删除指定通讯录成员信息:

               

参数接收 -- 通讯录类型变量地址

返回类型 -- void

               

图示:

32ffd1087f00423eb5f4635f36611c44.png

相关文章
|
19天前
|
C++
C++案例简单通讯录
C++案例简单通讯录
7 0
|
2月前
|
数据管理
【通讯录项目 (3 / 3)】基于顺序表的通讯录实现——通讯录项目实现
通讯录项目我们实现了大部分内容,接下来你可以自行探索,丰富功能。
23 0
|
2月前
动态通讯录(并不难都能拿下)
动态通讯录(并不难都能拿下)
|
12月前
学C的第三十一天【通讯录的实现】-2
9 . 函数 SearchContact() 的声明 -- 查找指定通讯录成员信息: 参数接收 -- const Contact* pc (只是打印,不用修改所以设置为常量) 返回类型 -- void
|
12月前
学C的第三十一天【通讯录的实现】-3
7 . 函数 ModifyContact() -- 查找指定通讯录成员信息: 先输入并接收要修改的联系人名字, 再调用 FindByName()函数 在通讯录中查找该人下标,
|
11月前
|
存储
手把手教你写通讯录(含动态版) 1
手把手教你写通讯录(含动态版)
|
11月前
手把手教你写通讯录(含动态版) 2
手把手教你写通讯录(含动态版)
|
12月前
|
存储
不会写通讯录,你就是“文”盲
不会写通讯录,你就是“文”盲
|
存储 C语言
【创作赢红包】循序渐进的全版本通讯录详解,可保存信息的动态通讯录
【创作赢红包】循序渐进的全版本通讯录详解,可保存信息的动态通讯录
31 0
进阶版通讯录(动态版)
进阶版通讯录(动态版)