C语言课程设计报告(通讯录) 下载本文

面向过程程序设计(C语言)课程设计

设计说明书

通讯录系统

起止日期: 2011年 01 月 03 日 至 2011年 01 月 08 日

学班学成

生姓名 级 号 绩

XXX

指导教师(签字)

计算机与通信学院

2011 年 01 月 08 日

一、 课题任务

设计一个通讯录管理系统。 课题的主要任务是:

1.对通讯录信息有添加、查找、显示、保存、删除、修改等操作功能。

2.可以将输入的数据保存在文本文件中,并可以将其调出使用。 我的主要任务是编写主函数,查找模块和修改模块。

二、设计要求

建立通讯录信息,信息至少包含姓名、住址、单位、固定电话、移动手机、分类(如同事、朋友、同学、家人等)、E-mail、QQ等。

该系统提供添加、删除、修改和查找功能,其中按姓名方式删除、修改,按姓名、单位、分类方式查找。

将通讯录保存在文件中。 能够输出通讯录中的信息。

二、 程序的功能设计

创建:创建通讯录文件并对其命名 添加:添加通讯录记录 输出:显示通讯录记录 删除:删除通讯录记录 查找:查询通讯录记录 修改:修改通讯录记录 保存:将信息保存到文件中

四、程序的数据设计

该系统用下面六个功能模块编写,每个模块执行不同的功能,体现了模块化

设计的思想。下面六个模块都是利用C语言文件,向文件中追加数据、修改数据、查询数据和删除数据。

创建:用fopen()建立一个文本文件,然后用fprintf()向其中输入数据

(例如,向文件中输入“姓名”,“地址”等), 并对文件进行命名。

1

添加:可以添加通讯录记录,利用C语言文件,向文件中按顺序输入姓名、

住址、单位、固定电话、手机号码、分类(如同事、朋友、同学、家人等)、E-mail、QQ,再用fclose()函数关闭并保存文件。

输出:也是用通过循环依次输出文件中的数据,即输出所有通讯录里的记录。 删除:输入你要删除的人的姓名后,系统会自动删除他(她)的记录,在删

除通过switch语句满足提示你确认删除的功能,只有等你确认删除后才会删除。

查找:为了满足用户的实际需求,设计了三种查询方式,可以用姓名、单位、

分类三种方式查找通讯录记录。这里用到strcmp()函数,通过比较字符串是否相同来判别是否找到相关信息,找到后,就把文件中的数据赋给对应的变量,再把变量所带的值输出到屏幕上。

修改:输入你要修改的那个人的姓名后,系统会查找该通讯录文件(此时用

发ftell()函数来跟踪文件指针的指向地址,找到个人的记录后,会显示他(她)的记录,然后通过fseek()函数来找到修改处的地址,然后用户再依次输入他(她)的相关信息来替代以前的记录。

保存:用到fclose()函数,每次操作成功后会自动保存到指定的文件中。

如下图所示: 个人 通讯 录管 理系 统查找 单位 添加 姓名 创建 修改 分类 输出 确定删除 删除 退出

不删除

2

五、程序的函数设计

下面是主函数部分: void main()

while(1) /*通过一个无限循环来完成

无数条记录的输入*/

{

int n;

printf(\欢迎使用通讯录系统

************************\\n\\n\

printf(\********\\n\\n\

printf(\请选择(0--5): \

printf(\创建,请按1\printf(\添加,请按2\printf(\查找,请按3\printf(\修改,请按4\printf(\输出,请按5\printf(\删除,请按6\printf(\退出,请按0\

3

scanf(\if(n<=6&&n>=0) {

switch(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(\操作完成,请再次选择!\} else }

printf(\选择错误,请再次选择!\

4