数学与统计学院。
课程设计报告。
课程: 算法与数据结构
题目: 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月。实习报告的内容。一 问...