通讯录程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
30.1 开发背景
➢ 在信息化不断发展的今天,社会成员相互之间联系 越来越紧密,联系方式也越来越多。我们除了手机, 移动电话等常规联系方式外,现在还有了电子邮箱、 MSN、QQ等信息化的联系方式,那么为了方便我 们将每个联系人的多个联系方式保存在一起,方便 由于一种联系方式联系不到某人时,可查询其他联 系方式,以前的“纸质”通讯录已经越来越赶不上 信息化的速度,势必被淘汰,所以我们用所学过的 知识实现一个“非纸质”通讯录。
增加联系人功能应该能够实现新增联系人。当需要一次加入多个 联系人信息时,最好不要重复选择此功能,应该是在增加联系 人之前,就需要用户输入一次增加的联系人个数,然后进行存 储,并一个个地增加。
➢ 2. 删除联系人模块 该模块主要完成删除联系人的操作。在删除联系人时需要输入将 要删除的联系人的姓名,然后进行存储。
⑵ 在Visual C++ 6.0下开发清屏时,由于对屏幕控制的权 限不多,因此,可使用“system("cls");”语句清屏。
⑶ C语言较高级的地方还在于对内存的访问与处理,内存申 请、内存复制、内存置位、释放内存,具体函数有: malloc、memcpy、memset、free等,使用方法请参 考头文件。
第30章
通讯录
开发背景 需求及功能分析 系统功能的实现 系统运行 开发过程常见问题及解决
.
第30章
通讯录
开发背景 需求及功能分析 系统功能的实现 系统运行 开发过程常见问题及解决
.
第30章
通讯录
开发背景 需求及功能分析 系统功能的实现 系统运行 开发过程常见问题及解决
.
第30章
通讯录
开发背景 需求及功能分析 系统功能的实现 系统运行 开发过程常见问题及解决
.
第30章
通讯录
开发背景 需求及功能分析 系统功能的实现 系统运行 开发过程常见问题及解决
.
第30章
通讯录
开发背景 需求及功能分析 系统功能的实现 系统运行 开发过程常见问题及解决
➢ 30.3.1 系统选择菜单的实现 ➢ 30.3.2 增加联系人功能的实现 ➢ 30.3.3 删除联系人功能的实现 ➢ 30.3.4 查找联系人模块的实现 ➢ 30.3.5 插入联系人模块的实现 ➢ 30.3.6 保存联系人文件模块的实现 ➢ 30.3.7 从文件加载联系人信息模块的实现 ➢ 30.3.8 显示所有联系人信息模块的实现
07 char qq[15]; /*联系QQ*/
08 char msn[50]; /*联系MSN*/
09 char mail[50]; /*email*/
10 }AddressInfo; /*通讯录结构体*/
.
30.2.2 功能模块分析
➢ 下面依次分析各模块应具备的功能。 ➢ 1. 增加联系人模块
➢ 6. 加载联系人信息模块
从文件加载联系人信息功能应该能够实现将联系人信息文件 以写入的顺序读入内存,并可以增加、删除等操作。
➢ 7. 显示所有联系人模块
将系统运行过程中的所有联系人信息全部输出。
➢ 8. 退出模块
退出通讯录管理系统的功能应该是能够结束死循环,退出管 理系统。
.
30.3 系统功能的实现
➢ 本章通过建立一个较为完整的通讯录,让读者全面 掌握使用C语言开发应用程序的流程。
.
30.2 需求及功能分析
➢ 30.2.1 总体功能分析 ➢ 30.2.2 功能模块分析
.
30.2.1 总体功能分析
➢ 本系统主要划分为8个子模块,如下图所示。
通讯录管理系统
人增 人删 人查 人插 人保 人加 人显
➢ 结构体定义代码如下(代码30-1.txt)。
.
30.2.1 总体功能分析
01 typedef struct
02 {
03 char name[50];/*姓名*/
04 char corp[50]; /*工作单位*/
05 char phone[15];
/*联系手机*/
06 char address[100]; /*家庭住址*/
.
.
Fra Baidu bibliotek0.4 系统运行
➢ 系统设计好了,现在就来看看设计的成果。
.
30.5 开发过程常见问题及解决
➢ 开发过程常见问题及解决办法如下,仅供参考。
⑴ 如果出现“warning C4013: 'exit' undefined; assuming extern returning int”的编译错误,在程序 开头加上对应的头文件包括语句,通常就能解决问题。
➢ 3. 查找联系人模块 查找联系人功能应该能够实现查找联系人信息,要求输入联系人 姓名,再根据姓名查找所有符合条件的信息。
➢ 4. 插入联系人模块 该模块主要完成在某个联系人之前插入另外一个联系人。
.
30.2.2 功能模块分析
➢ 5. 保存联系人模块
保存联系人信息功能应该能够实现将联系人信息经过增加、 删除等修改性操作后,将内存信息保存至文件。
退
加
除
找
入
存
载
示
出
联
联
联
联
联
联
联
模
系
系
系
系
系
系
系
块
.
30.2.1 总体功能分析
➢ 此外,由于该系统设计了一些图书和读者的 信息存储,而为简单起见,这里没有设置数 据库。因此,就应该定义一个数据结构来存 储这些信息。通过前面的学习知道,类和结 构体都可以实现多个不同类型数据的存储。 而为了重点体现C的特点,我们采用类来存 储这些数据类型。
30.1 开发背景
➢ 在信息化不断发展的今天,社会成员相互之间联系 越来越紧密,联系方式也越来越多。我们除了手机, 移动电话等常规联系方式外,现在还有了电子邮箱、 MSN、QQ等信息化的联系方式,那么为了方便我 们将每个联系人的多个联系方式保存在一起,方便 由于一种联系方式联系不到某人时,可查询其他联 系方式,以前的“纸质”通讯录已经越来越赶不上 信息化的速度,势必被淘汰,所以我们用所学过的 知识实现一个“非纸质”通讯录。
增加联系人功能应该能够实现新增联系人。当需要一次加入多个 联系人信息时,最好不要重复选择此功能,应该是在增加联系 人之前,就需要用户输入一次增加的联系人个数,然后进行存 储,并一个个地增加。
➢ 2. 删除联系人模块 该模块主要完成删除联系人的操作。在删除联系人时需要输入将 要删除的联系人的姓名,然后进行存储。
⑵ 在Visual C++ 6.0下开发清屏时,由于对屏幕控制的权 限不多,因此,可使用“system("cls");”语句清屏。
⑶ C语言较高级的地方还在于对内存的访问与处理,内存申 请、内存复制、内存置位、释放内存,具体函数有: malloc、memcpy、memset、free等,使用方法请参 考头文件。
第30章
通讯录
开发背景 需求及功能分析 系统功能的实现 系统运行 开发过程常见问题及解决
.
第30章
通讯录
开发背景 需求及功能分析 系统功能的实现 系统运行 开发过程常见问题及解决
.
第30章
通讯录
开发背景 需求及功能分析 系统功能的实现 系统运行 开发过程常见问题及解决
.
第30章
通讯录
开发背景 需求及功能分析 系统功能的实现 系统运行 开发过程常见问题及解决
.
第30章
通讯录
开发背景 需求及功能分析 系统功能的实现 系统运行 开发过程常见问题及解决
.
第30章
通讯录
开发背景 需求及功能分析 系统功能的实现 系统运行 开发过程常见问题及解决
➢ 30.3.1 系统选择菜单的实现 ➢ 30.3.2 增加联系人功能的实现 ➢ 30.3.3 删除联系人功能的实现 ➢ 30.3.4 查找联系人模块的实现 ➢ 30.3.5 插入联系人模块的实现 ➢ 30.3.6 保存联系人文件模块的实现 ➢ 30.3.7 从文件加载联系人信息模块的实现 ➢ 30.3.8 显示所有联系人信息模块的实现
07 char qq[15]; /*联系QQ*/
08 char msn[50]; /*联系MSN*/
09 char mail[50]; /*email*/
10 }AddressInfo; /*通讯录结构体*/
.
30.2.2 功能模块分析
➢ 下面依次分析各模块应具备的功能。 ➢ 1. 增加联系人模块
➢ 6. 加载联系人信息模块
从文件加载联系人信息功能应该能够实现将联系人信息文件 以写入的顺序读入内存,并可以增加、删除等操作。
➢ 7. 显示所有联系人模块
将系统运行过程中的所有联系人信息全部输出。
➢ 8. 退出模块
退出通讯录管理系统的功能应该是能够结束死循环,退出管 理系统。
.
30.3 系统功能的实现
➢ 本章通过建立一个较为完整的通讯录,让读者全面 掌握使用C语言开发应用程序的流程。
.
30.2 需求及功能分析
➢ 30.2.1 总体功能分析 ➢ 30.2.2 功能模块分析
.
30.2.1 总体功能分析
➢ 本系统主要划分为8个子模块,如下图所示。
通讯录管理系统
人增 人删 人查 人插 人保 人加 人显
➢ 结构体定义代码如下(代码30-1.txt)。
.
30.2.1 总体功能分析
01 typedef struct
02 {
03 char name[50];/*姓名*/
04 char corp[50]; /*工作单位*/
05 char phone[15];
/*联系手机*/
06 char address[100]; /*家庭住址*/
.
.
Fra Baidu bibliotek0.4 系统运行
➢ 系统设计好了,现在就来看看设计的成果。
.
30.5 开发过程常见问题及解决
➢ 开发过程常见问题及解决办法如下,仅供参考。
⑴ 如果出现“warning C4013: 'exit' undefined; assuming extern returning int”的编译错误,在程序 开头加上对应的头文件包括语句,通常就能解决问题。
➢ 3. 查找联系人模块 查找联系人功能应该能够实现查找联系人信息,要求输入联系人 姓名,再根据姓名查找所有符合条件的信息。
➢ 4. 插入联系人模块 该模块主要完成在某个联系人之前插入另外一个联系人。
.
30.2.2 功能模块分析
➢ 5. 保存联系人模块
保存联系人信息功能应该能够实现将联系人信息经过增加、 删除等修改性操作后,将内存信息保存至文件。
退
加
除
找
入
存
载
示
出
联
联
联
联
联
联
联
模
系
系
系
系
系
系
系
块
.
30.2.1 总体功能分析
➢ 此外,由于该系统设计了一些图书和读者的 信息存储,而为简单起见,这里没有设置数 据库。因此,就应该定义一个数据结构来存 储这些信息。通过前面的学习知道,类和结 构体都可以实现多个不同类型数据的存储。 而为了重点体现C的特点,我们采用类来存 储这些数据类型。