图书借阅管理系统-课程设计.doc
文本预览下载声明
数 据 结 构
课 程 设 计 说 明 书
?
?
?
学生姓名: ? 学 号: ? 学 院: 专 业: ? 题 目: 图书借阅管理系统 成绩 指导教师
?
?
?
?
设计目的
《数据结构》课程主要介绍最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。进行数据结构课程设计要达到以下目的:
了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;
初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
设计内容和要求
设计内容:
主要分为两大功能:图书管理(增加图书、查询图书、删除图书、图书借阅、还书);会员管理(增加会员、查询会员、删除会员、借书信息)。
4.2 核心代码
定义结构体,用于存放书籍和借书的信息:
struct BOOK
{
int id,total,store;
char name[31],writer[21];
}books[100];
打印页眉的函数,同时通过函数menu_item,可以显示当前的状态:
struct BOOK *h_book;
void page_title(char *menu_item)
{
clrscr();
printf(\n\n%s\n\n,menu_item);
}
返回前请求确认,以便于在返回前观察结果:
void return_confirm(void)
{
printf(\nPress any key to enter the menu\n);
getch();
}
在数组中找到图书号匹配的记录,显示其信息并返
回数组下标,如果找不到相应记录则提示错误并返回-1:
int search_book(void)
{
int n,i;
printf(Input Book Num:);
scanf(%d,i);
for(n=0;n100;n++)
{
if(books[n].id==i)
{
printf(BookName:%s\n,books[n].name);
printf(BookWriter:%s\n,books[n].writer);
printf(Store:%d of ,books[n].store);
printf(%d\n,books[n].total);
return n;
}
}
printf(\nThere is no Num %d Book on the List.\n,i);
return -1;
}
借书的函数,首先调用找书函数:
void book_out(void)
{
int n,s,l,d;
page_title(BookBorrow);
if((n=search_book())!=-1books[n].store0)
{
books[n].store--;
}
return_confirm();
}
void book_in(void)
{
int n,s,l;
page_title(BookReturn);
if((n=search_book())!=-1books[n].storebooks[n].total)
{
books[n].store++;
}
if(n!=-1books[n].store==books[n].total)
printf(Return book succ!\n);
return_confirm();
}
输出图书信息(包括查询信息):
void book_add(void)
{
int n;
page_title(Add New Book);
for(n=0;n100;n++)
if(books[n].id==0) break;
printf(BookID:);
scanf(%d,books[n].id);
printf(BookName:);
scanf(%s,books[n].name);
prin
显示全部