通讯录查询系统:哈希表与C语言实战

1 下载量 97 浏览量 更新于2024-06-22 收藏 826KB DOC 举报
《软件工程-通讯录查询系统.doc》是软件工程专业的一份课程设计报告,由计算机学院软件102班第11组成员完成。该课程设计的主要目的是让学生深入理解和应用哈希表和数据结构概念,以及C语言编程技术。报告分为以下几个部分: 1. 程序设计目标:通过这个项目,学生期望熟悉哈希表函数及其操作,如查找过程和方法,同时复习和巩固大一期间学到的C语言基础知识,以及提升对数据结构、离散数学的理解。课程设计旨在将理论知识与实践相结合,增强问题解决能力和实践编程能力。 2. 问题描述:设计的核心任务是实现一个散列表结构的通讯录查询系统,其中包含记录的电话号码、用户名和地址。系统需要用户通过输入电话号码查找对应的联系人信息,支持二次探测再散列法处理冲突。此外,还要求提供图形化的用户界面,方便交互操作。 3. 需求分析:主要功能包括: - 查询:用户输入电话号码后,系统查找散列表中的对应条目,如果找到,显示姓名和地址,否则提示“无记录”。 - 人机交互:设计友好的图形化用户界面,便于用户输入和查看结果。 4. 需求分析中的具体功能: - 记录输入:用户输入新的联系人信息,以电话号码作为键值存储在散列表中。 - 信息存储:将通讯录信息持久化存储,以便下次查询。 - 用户界面:确保用户界面直观易用,提供良好的用户体验。 5. 课程设计过程:包括概要设计(定义抽象数据类型,确定主程序结构和模块间调用),详细设计(编写各模块的算法),软件说明书(指导用户如何使用和注意事项),源程序清单(至少400行代码,附带详细注释),测试报告(记录调试过程中的问题和解决方案,以及测试结果)以及课程设计总结。 通过这个课程设计,学生不仅增强了C语言编程技能,还锻炼了工程软件设计方法,提高了理论与实践相结合的能力,强化了团队协作精神。此外,它为后续计算机课程的学习和毕业设计奠定了基础,帮助学生理解高级程序设计语言的结构和问题解决技巧。