数据结构课程设计报告 2

发布 2022-10-05 19:47:28 阅读 3583

数学与统计学院。

课程设计报告。

课程: 算法与数据结构

题目: xxxxxx

班级xxx班

姓名xxxx

学号xxxxxxxx

起迄日期: 2018.03.11-03.14

指导教师: xxx

成绩。一、设计要求。

1.问题描述。

本系统可实现图书借阅管理的一系列活动。例如,对读者信息的管理、图书的借阅和归还、图书的采编入库等。

2.需求分析。

1)输入数据建立图书信息和读者信息;

2)查询图书信息和读者信息;

3)添加图书信息和读者信息;

4)删除图书信息和读者信息;

5)查看所有图书信息和读者信息;

6)图书的借阅和归还。

2、概要设计。

1.主界面设计。

本系统设计了一个含有两个菜单项的主控菜单,一个是读者信息管理,一个是图书信息管理,菜单如下:

2.储存结构设计。

本系统主要采用顺序表结构类型储存读者信息和图书信息。

读者信息有3个分量构成,图书信息有5个分量构成。

3.系统功能设计。

1)读者信息管理。

1 录入读者信息:可以一次输入多个读者的信息。

2 删除读者信息:可以按读者的编号将不再需要的读者信息删除。

3 添加读者信息:可以一次添加多个读者信息,有是否继续添加的选择。

4 显示读者信息:可以查看所有的读者信息。

5 查找读者信息:可以按照读者的编号查询所需要的读者信息。

6 返回主菜单:返回上一层菜单。

2)图书信息管理。

1 图书的查找:可以按照图书的书号查询所需要的图书信息。

2 图书的借阅:可以查询要借阅的图书,看是否可以借阅。

3 图书的归还:可以查询要归还的图书,看是否可以归还。

4 图书的采编入库:可以一次输入多种图书的信息,建立图书列表。还可以显示图书信息以及添加图书信息和删除图书信息。

5 返回主菜单:返回上一层菜单。

3、模块设计。

1.本程序包含主程序模块、菜单选择模块和顺序表操作模块。其调用关系:

2.系统子程序及功能设计。

1 char continue询问是否继续操作。

2 void errormess操作出错。

3 int creat_reader(reader re录入读者信息。

4 int delete_reader(reader re,int n); 删除读者信息。

5 int add_reader(reader re,int n添加读者信息。

6 void print_reader(reader re,int n显示读者信息。

7 int srerch_reader(reader re,int key,int n); 查找读者信息。

8 void reader_info读者信息管理。

9 void show_book(book b,int n显示图书信息。

10 int find_book(book b,int key,int n查找图书信息。

11 void book_borrow(book b,int n图书的借阅。

12 void book_return(book b,int n图书的归还。

13 int book_add(book b,int n图书的添加。

14 int book_del(book b,int n图书的删除。

15 int book_cre(book b,int n图书的录入。

16 void editing_storage(book b图书的采编入库。

17 void book_info图书信息管理。

18 void main主程序画面函数。

3.函数主要调用关系图。

调用关系如图所示,图中数字是各函数的编号。

4、详细设计。

1.数据类型的定义。

本系统采用顺序表结构存储结点信息,结点结构定义如下:

1)图书信息的结构体定义。

typedef struct book

char book_number书号。

char book_title[100书名。

char author[100作者。

int current_inventory; /现存量。

int total_inventory; /总库存量。

book;2)读者信息的结构体定义。

typedef struct reader

int people_number; /编号

char people_name[100姓名。

int tel_number**。

reader;

2.系统主要子程序详细设计。

1)主程序模块设计。

void main()

char c;

system ("color 3f");

//p1=head;

do}while(c!='3');

2)读者信息录入函数。

int creat_reader(reader re)

int i; /计数。

int n; /读者人数

printf("请输入要录入信息的读者人数:")

scanf("%d",&n);

printfn");

printf("请输入读者信息:编号,姓名,**");

printfn");

for(i=0;i

printf("d个学生信息输入完毕! ",n);

printf(" 按任意键返回上一层!")

getch();

return n;

3)读者信息删除函数。

int delete_reader(reader re,int n)

int num;//要删除的读者编号。

int k;//要删除的读者位置。

int i;

printf("请输入要删除的读者的编号:");

scanf("%d",&num);

k=srerch_reader(re,num,n);/查找位置。

for(i=k;i

n--;printf("按任意键返回上一层!")

getch();

return n;

4)图书借阅函数。

void book_borrow(book b,int n)

int key;

int k;

printf("请输入要借阅的图书书号:")

scanf("%d",&key);

k=find_book(b,key,n);/查找位置。

if(b[k].current_inventory==0)

printf("该图书现存量为0,无法借阅!")

else5)图书删除函数。

void book_return(book b,int n)

int key;

int k;

printf("请输入要归还的图书书号:")

scanf("%d",&key);

k=find_book(b,key,n);/查找位置。

b[k].current_inventory++;

printf("已成功归还!")

6)图书查询函数。

int find_book(book b,int key,int n)

数据结构课程设计 2报告

学号 2008302605 姓名 张坤实验日期 12.28 高维数据检索方法的实现及评价。一 需求分析 1.本程序以用户和计算机的对话方式执行,即在计算机终端上显示 提示信息 之后,由用户在键盘上输入相应的命令,然后计算机根据用户输入的命令执行相应的操作 2.程序功能 在给定特征数据集a中寻找待处理...

数据结构课程设计 2

用链式实现一元多项式 poly 的加法运算。系数 float p 指数 int e 指针 next 算法思路 同时扫描多项式p1 p2的各项分量,比较他们的指数值,如果相同,则对此指数相对应的系数进行合并求和,将系数和写入p1当前的分量当中,继续扫描p1 p2的下一个分量 否则p1和p2的当前分量的...

数据结构课程设计报告

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