数据结构课程设计报告

发布 2022-10-05 19:31:28 阅读 1771

目录。一、问题描述3

二、基本要求3

三、数据结构的设计3

四、软件模块结构图3

五、程序流程图5

六、源程序。

七、调试分析13

八、测试数据17

九、用户使用手册28

十、心得体会29

一、问题描述。

试编程完成通讯录的一般性管理工作,如通讯录中记录的增加、修改、查找、删除、输出等功能。每个记录包含姓名、**号码、住址等个人基本信息。

二、基本要求。

设计内容:本系统应完成一下几方面的功能:

1)输入信息——enter();

2)显示信息———display( )

3)查找以姓名作为关键字 ——search( )

4)删除信息———delete( )

5)存盘———s**e (

6)装入———load( )

三、数据结构的设计。

3.1 主要数据结构。

主要利用线性表的链式存储结构,来存储数据和信息。

3.2设计方法及原理。

线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素。

因此,为了表示每个数据元素与其后继元素之间的逻辑关系,对于数据元素来说,除了存储数据本身信息之外,还需要存储一个指示其后继的信息。

这两部分组成数据的存储映像,称为结点。

四、软件模块结构图

五、程序流程图。

6、源程序。

***头文件(.h

#include <>

#include <>i/o函数*/

#include <>标准库函数*/

#include <>字符串函数*/

#include <>字符操作函数*/

#include <>

#include

#define m 50 /*定义常数表示记录数*/

//定义颜色。

#define red setconsoletextattribute(getstdhandle(std_output_handle), foreground_intensity | foreground_red);

#define cyan setconsoletextattribute(getstdhandle(std_output_handle), foreground_intensity | foreground_green | foreground_blue);

#define purple setconsoletextattribute(getstdhandle(std_output_handle), foreground_intensity | foreground_red | foreground_blue);

#define yellow setconsoletextattribute(getstdhandle(std_output_handle), foreground_intensity | foreground_red | foreground_green);

#define white setconsoletextattribute(getstdhandle(std_output_handle), foreground_intensity | foreground_red | foreground_green | foreground_blue);

void gotoxy(int a, int b)

int xx=0x0b;

handle houtput;

coord loc;

=a;houtput = getstdhandle(std_output_handle);

setconsolecursorposition(houtput, loc);

return;

typedef struct /*定义数据结构*/

char name[20]; 姓名*/

char flat[30]; 住址*/

char tele[10]; ***/

address;

***声明函数原型***

int enter(address t)输入记录*/

void display(address t,int n); 显示记录*/

void search(address t,int n); 按姓名查找显示记录*/

int deleter(address t,int n); 删除记录*/

void s**e(address t,int n); 记录保存为文件*/

int load(address t)从文件中读记录*/

void copy();文件复制*/

void print(address temp); 显示单条记录*/

int find(address t,int n,char *s) ;查找函数*/

int menu_select();主菜单函数*/

***主函数开始***

int main()

int i;

address adr[m]; 定义结构体数组*/

int length; /保存记录长度*/

for(;;无限循环*/

switch(menu_select())调用主菜单函数,返回值整数作开关语句的条件*/

case 0:length=enter(adr);break;/*输入记录*/

case 1:display(adr,length);break; /显示全部记录*/

case 2:search(adr,length);break; /查找记录*/

case 3:length=deleter(adr,length);break; /删除记录*/

case 4:s**e(adr,length);break; /保存文件*/

case 5:length=load(adr); break; /读文件*/

case 6:copy();break; /复制文件*/

case 7:exit(0); 如返回值为11则程序结束*/

*菜单函数,函数返回值为整数,代表所选的菜单项*/

int menu_select()

char s[80];

int c;

gotoxy(1,20);/将光标定为在第20行,第1列*/

whiteprintf("press any key enter menu...n");提示压任意键继续*/

system ("pause");

system("cls");

gotoxy(1,1);

yellow

printf("\tn" )

cyanprintf("\t\t\t welcome to telecom's resultmanagen");

yellow

printf("\tn");

purple

printf("\tn");

printf("\t 0. enter record4. s**e the filen");

printf("\t 1. display the file5. load the filen");

printf("\t 2. search record on name 6. copy the file to new file ");

printf("\t 3. delete a record7. quitn");

printf("\tn");

do{cyan printf("\t 请输入您的选项(0~7):"提示输入选项*/

scanf("%s",s); 输入选择项*/

c=atoi(s); 将输入的字符串转化为整型数*/

while(c<0||c>7); 选择项不在0~7之间重输*/

return c; /返回选择项,主程序根据该数调用相应的函数*/

***输入记录,形参为结构体数组,函数值返回类型为整型表示记录长度*/

int enter(address t)

int i,n;

char *s;

system("cls");

yellow printf(" 您希望录入的联系人数目为:\t");提示信息*/

scanf("%d",&n); 输入记录数*/

purple printf(" 请开始编辑联系人信息! "提示输入记录*/

printf("ooooo^)/n");

数据结构课程设计报告

东莞理工学院城市学院。题目 二叉排序树 专业 计算机科学与技术 本 年级 2010级计算机科学与技术专业 1 班。个人姓名 何振江。指导教师 张娟老师 时间 2010至2011第二学期第18周 地点 实验楼615机房 东莞理工学院城市学院计算机与信息科学系制。2011年 6月。实习报告的内容。一 问...

数据结构课程设计报告

设计一个校园导游程序,为来访的客人提供信息查询服务。1 设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图 无向网 以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。2 存放景点代号 名称 简介等信息供用户查询。3 为来访客人提供图中任意景点相关信息的查询。4 为来访客人提供...

数据结构课程设计报告

河北科技大学。课程设计报告。学生姓名学号。专业班级。课程名称数据结构。学年学期 2 012 2 013学年第 2 学期指导教师 黄春茹。2 0 13年 6 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...