通讯录管理系统报告
——数据结构设计型试验
组长:秦奇辉 (084632208)
组员:孙海亮 (084632231)
宋浩 (084632215)
通讯录管理系统
设计题目:通讯录管理系统
设计实现功能:
1.创建一个通讯录 (单链表的创建)。
2.显示通讯录中所有联系人的信息和按组显示具体组的联系人信息
(单链表的直接输出与查找输出)。
3.在通讯录中增加联系人 (单链表的插入)。
4.按姓名查找具体联系人 (单链表查找)。
5.修改具体联系人的信息 (单链表的查找、修改)。
6.删除通讯录中的具体联系人及具体分组 (单链表的查找、删除)。
7.通讯录中信息以文件保存,下次进入系统自动读取上次存储的信息
(文件的存储与读取)。
小组成员分工:
秦奇辉负责内容:节点的构建、文件系统的设计、主函数及菜单的设
计、单链表的创建子函数设计、查看功能函数的设计、小组各成员的
函数的组织。
宋浩负责内容:查找功能子函数的设计,增加新信息功能子函数设计、
修改功能子函数设计。
孙海亮负责内容:删除功能子函数设计 (包括按具体联系人删除、删
除具体某个组)。
程序总体结构图:
通讯录管理系统
打开文件
创建通 查看联 新增联 查找联 修改联 删除联
讯录 系人 系人 系人 系人 系人
查 按 删 按
看 组 除 组
所 查 个 删
有 看 人 除
以文件保存
退出通讯录
系统评价:本系统是以手机中的通讯录各功能为模板设计的。本系
统功能全面,操作方便,适于使用。系统中用到的创新功能如下:
1.在系统中加入了文件系统,使用户存储的信息能够有效的得到保
存。
2.增加了分组查看和分组删除功能,是系统实用性更强。
3.设置了多个输入错误及查询、删除失败的判断,便于用户清楚了
解自己的操作过程。
4.增加了清屏功能,操作起来更加有条理,互动行增强。
本系统通过我们小组成员的共同努力,不仅完成了基本要求,而且还
有部分创新功能。但是限于水平及经验有限,所写代码风格及简洁程
度有待提高。所以,我给本系统打94分。
遇到的问题及心得体会之秦奇辉
遇到的问题及解决方法
问题1:在创建通讯录时,考虑到手机中的通讯录是给定几个分组让
用户选择,而不是用汉字输入所在分组。在实现这个功能时,开始时
用的q->row a[30](a 中存放的分组信息),无法实现。
解决方法:在程序中用strcpy (q->row,a[30])(字符串复制语句),
问题得到解决。
问题2:在写文件系统时,无法完成对应该读取文件还是新建文件的
判断。
解决方法:先判断是否存在文件,不存在就建立一个新的文件,然后
关闭文件。然后再以只读方式打开文件,读取文件中的信息。代码如
下:if(fp fopen("txl.txt","r") NULL)
{fp fopen("txl.txt","w");
fclose(fp);}
问题3:在读出文件时,用if(!feof(fp))来判断文件是否读取完毕,
但