1、 面向过程程序设计(C 语言通讯录系统)课程设计 一、一、 课题任务课题任务 设计一个通讯录管理系统。 课题的主要任务是: 1.对通讯录信息有添加、查找、显示、保存、删除、修改等操作功 能。 2.可以将输入的数据保存在文本文件中,并可以将其调出使用。 我的主要任务是编写主函数,查找模块和修改模块。 二、二、设计要求设计要求 建立通讯录信息,信息至少包含姓名、住址、单位、固定电话、移动手机、 分类(如同事、朋友、同学、家人等)、E-mail、QQ 等。 该系统提供添加、删除、修改和查找功能,其中按姓名方式删除、修改,按 姓名、单位、分类方式查找。 将通讯录保存在文件中。 能够输出通讯录中的信息。
2、 二、二、 程序的功能程序的功能设计设计 创建:创建通讯录文件并对其命名 添加:添加通讯录记录 输出:显示通讯录记录 删除:删除通讯录记录 查找:查询通讯录记录 修改:修改通讯录记录 保存:将信息保存到文件中 四、四、程序的数据设计程序的数据设计 该系统用下面六个功能模块编写,每个模块执行不同的功能,体现了模块化 设计的思想。 下面六个模块都是利用 C 语言文件, 向文件中追加数据、 修改数据、查询数据和删除数据。 1 创建:用 fopen()建立一个文本文件,然后用 fprintf()向其中输入数据 (例如,向文件中输入“姓名”,“地址”等), 并对文件进行命 名。 添加:可以添加通讯录记录
3、,利用 C 语言文件,向文件中按顺序输入姓名、 住址、单位、固定电话、手机号码、分类(如同事、朋友、同学、家 人等)、E-mail、QQ,再用 fclose()函数关闭并保存文件。 输出: 也是用通过循环依次输出文件中的数据, 即输出所有通讯录里的记录。 删除:输入你要删除的人的姓名后,系统会自动删除他(她)的记录,在删 除通过 switch 语句满足提示你确认删除的功能,只有等你确认删除 后才会删除。 查找: 为了满足用户的实际需求, 设计了三种查询方式, 可以用姓名、 单位、 分类三种方式查找通讯录记录。这里用到 strcmp()函数,通过比较 字符串是否相同来判别是否找到相关信息,找到后
4、,就把文件中的数 据赋给对应的变量,再把变量所带的值输出到屏幕上。 修改:输入你要修改的那个人的姓名后,系统会查找该通讯录文件(此时用 发 ftell()函数来跟踪文件指针的指向地址,找到个人的记录后,会 显示他(她)的记录,然后通过 fseek()函数来找到修改处的地址, 然后用户再依次输入他(她)的相关信息来替代以前的记录。 保存:用到 fclose()函数,每次操作成功后会自动保存到指定的文件中。 如下图所示: 个 人 通 讯 录 管 理 系 统 创建 添加 查找 修改 输出 删除 退出 姓名 单位 分类 确定删除 不删除 2 五、五、程序的函数设计程序的函数设计 下面是主函数部分: v
5、oid main() while(1) /*通过一个无限循环来完成 无数条记录的输入*/ int n; printf(“nt*欢迎使用通讯录系统 *nn“); printf(“nt 创建,请按 1“); printf(“nt 添加,请按 2“); printf(“nt 查找,请按 3“); printf(“nt 修改,请按 4“); printf(“nt 输出,请按 5“); printf(“nt 删除,请按 6“); printf(“nt 退出,请按 0“); printf(“nt* *nn“); 3 printf(“n 请选择(0-5): “); scanf(“%d“, if(n=0) s
6、witch(n) case 1:creat();break; case 2:add(); break; case 3:search(); break; case 4:modify(); break; case 5:output(); break; case 6:del(); break; case 0:exit(1); printf(“nn 操作完成,请再次选择!“); else printf(“nn 选择错误,请再次选择!“); 4 上面主要是菜单部分,用来提醒用户需要选择哪些功能。 这部分是来通过一个无限循环(用 while(1))来执行上述所有的功能模块,不 断的输出菜单项目,用 switch 语句来执行用户选择的功能模块,每一个 case 后面就