数据结构课程设计
题目:
学 院:计算机学院 __
专 业:计算机科学与技术
班 级: __
学 号: __
学生姓名: __
指导教师: _
年 月 日
一、需求分析
随着社会发展,时代的前进,人与人的交往越来越密切,通讯成为当代社
会发展必不可少的一大服务业,目前在我国较为有影响力的通讯产业有中国移
动、中国联通、中国电信等,它们的产生给人们生活、交往带来极大的便利,
通讯录由此而生,方便了同学、亲戚朋友的交往。说到通讯录,从字面意思来
看,即通讯的记录,方便人们的交往,在我看来,通讯录的主要意义也就在于
有助于人与人之间的通讯,便捷地找到自己想找到的人 其实通讯录无处不在
根据需要设计本程序。
一个简单的通讯录系统应具有以下功能:
、通讯录成员的输入(输入通讯录成员的个数由用户自己决定,当在“请
输入姓名”后面输入为空时,结束输入)
、通讯录成员的删除(输入要删除成员的姓名,当此成员存在通讯录中,
即可删除此成员,若是输入的姓名未能找到,系统会提示“没有此人信息”。)
、浏览通讯录(显示通讯录中所有成员的信息,成员的信息有姓名、地
址、邮编、电话、。)
、查找通讯录中某些成员(输入要查找成员的姓名,显示要查找成员的
所有信息。)
、对通讯录中的所有信息的保存(将通讯录中的所有信息保存在
文件中,方便用户的操作。)
、对通讯录某些成员进行修改(输入需要修改成员的姓名,输入其正确
的信息。)
、系统清屏(当屏幕内容过多时,清屏。)
、退出通讯录(完成通讯录的所有操作,退出系统。)
、数据结构如此定义:姓名、性别、地址由字符组成,最大字符数分别为
个, 个和 个;邮编、电话、 由数字字符组成,最在字符数分别为
个, 个和 个;当输入的输的字符超过上面所规定的最大字符数时,系统会
2
提示“输入字符太长,请重新输入”。
本程序用 语言编写,在 下的 、 与 程序设计
学习与实验系统 环境下皆可运行。在数据测试时,首先对通讯录成员的
所有信息(姓名、性别、地址、邮编、电话、)进行输入及保存,然后再对
其进行删除、浏览、查找、查找、修改等操作。
二、概要设计
1、结构体及链表数据定义
定义用户数据结构
!"#!$%&'
(
)#!#$*+,
)#!$*+,
)#!*+,
)#!*+,
)#!)$*+,
)#!*+,
!"#!$%&' $,
!"#!$%&' !!,
-
2、本程序部分函数及申明
.#/0,
.$$!/0,
.$/0;
./0,
.$#!)/0,
.#.$/0,
.$!1$/0,
.#/0,
3、本程序包含的所有功能及对应的函数
本程序主要包含两大模块:主函数模块和子函数模块
3
#/0主函数,是程序的入口,程序执行由此开始执行,并通过此主函数
调用其他所有子函数。
.#/0装载函数创建 文件,此文件保存通讯录中所有成员的
信息,方便其他函数对通讯录的信息进行输入、删除、浏览、查找、修改等操
作。
menu( )目录函数,在屏幕上显示对通讯录进行操作的所有操作。
.$$!/0输入函数,通过调用字符串输入函数 "( )和存储指
针函数 !$( )完通讯录成员信息的输入,并保存在链表中。
.$/0删除函数,实现删除要删除的成员的所有信息,通过调用字符
串比较指针函数 2/0,实现将输入要删除成员的姓名与通讯录中的所有成员
的姓名进行比较,若有与之匹配的姓名,提起此人信息,并实现删除操作,若
没有此人信息,系统会提示“没有此人信息”。
./0浏览函数,实现在屏幕上显示通讯录中所有信息,通过调用
.#/0实现在屏幕上输出通讯录成员所有信息。
.$#!)/0查找函数,实现在屏幕上显示要查找成员的信息,通过调
用字符串比较指针函数 2/0,实现将输入要查找成员的姓名与通讯录中的所
有成员的姓名进行比较,若有与之匹配的姓名,提起此人信息,并调用 .
#/0实现在屏幕上输出此成员所有信息,若没有此人信息,系统会提示
“没有此人信息”。
.#.$/0保存函数,实现将键表的信息保存到 文件中,以方便
用户对通讯录进行各项操作,防止因误操作信息丢失。
.$!1$/0修改函数,实现对通讯录中成员信息的修改,具体实现是
通过调用字符串比较指针函数 2/0、字符串输入函数 "( )和存储指
针函数 !$( )相应函数功能来加以实现。
4