数据结构课程设计说明书模板
- 格式:doc
- 大小:131.37 KB
- 文档页数:18
中北大学
数据结构与算法课程设计
说明书
学院、系:软件学院
专业:软件工程
班级:13140A01
学生姓名:景贝贝学号:1314011438 设计题目:通讯录的制作
起迄日期: 2015年1月12日- 2015年1月29日指导教师:杨顺民
2015 年1月 29 日
1需求分析
1) 每条信息至包含:姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项
2) 作为一个完整的系统,应具有友好的界面和较强的容错能力
3) 上机能正常运行,并写出课程设计报告
通讯录的基本活动包括:对一个人的采编、删除、查找和显示等等。由于上述四项基本活动都是通过人名(即关键字)进行的。
作为通讯录,就需要一个模块来完成对别人的登记和记录情况,本程序使用文件来完成上述操作。
2设计内容
本系统应完成一下几方面的功能:
1) 输入信息——enter();
2) 显示信息———display( );
3) 查找以姓名作为关键字———search( );
4) 删除信息———delete( );
5) 存盘———save ( );
6) 装入———load( ) ;
3设计目的
用〈〈数据结构〉〉中的双向链表作数据结构,结合C语言基本知识。编写一个通讯录管理系统。以把所学数据结构知识应用到实际软件开发中去。
线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素。
因此,为了表示每个数据元素与其后继元素之间的逻辑关系,对于数据元素来说,除了存储数据本身信息之外,还需要存储一个指示其后继的信息。
这两部分组成数据的存储映像,称为结点。
4.系统流程图
5.详细设计及
(1)结构体:
(构造一个结构体来存储和使用数据)
struct address{ /*定义结构*/ char name[30]; //姓名
char street[100]; //街道
char city[30]; //城市
char state[30]; //国家
char zip[11]; //邮政编码
struct address *next; /*后继指针*/
struct address *prior; /*前导指针*/
};
struct address *start; /*首结点*/
struct address *last; /*尾结点*/
struct address *find(char *); /*声明查找函数*/
(2)包含被调用函数:
功能
void enter(); //输入信息 /*函数声明*/
void search(); //查找信息
void save(); //存盘
void load(); //装入
void list(); //显示信息
void mldelete(struct address **,struct address **); //删除信息void dls_store(struct address *i,struct address **start,
struct address **last);
void inputs(char *,char *,int);
void display(struct address *);
int menu_select(void);
(3)实现主程序与各模块的调用关系:
主函数通过调用各个函数来连接各个函数,从而实现程序功能的实现。
int main(void)
{
start = last = NULL;
for(;;)
{
switch(menu_select())
{
case 1:enter();
continue;
case 2:mldelete(&start,&last); continue;
case 3:list();
continue;
case 4:search();
continue;
case 5:save();
continue;
case 6:load();
continue;
case 7:exit(0);
}
}
}
6.部分调试界面
7.程序源码
#include
#include
#include
struct address{ /*定义结构*/
char name[30];//姓名
char street[100];//街道
char city[30];//城市
char state[30];//国家
char zip[11];//邮编
struct address *next; /*后继指针*/ struct address *prior; /*前导指针*/ };
struct address *start; /*首结点*/
struct address *last; /*尾结点*/
struct address *find(char *); /*声明查找函数*/