#include"library.h"
/**********************************************************
*功能描述:主菜单
*输入参数:每个数字对应着相应的功能,对数字进行选择
*输出参数:对应函数的实现
*返 回 值:所选择的数字
*其他说明:共包括新书入库、读者登记、借阅图书、归还图书、查询图书、查询读者
修改图书、删除图书等功能
**********************************************************/
int Menu()
{
int sz;
cout<<" 烟台大学图书管理系统 \n";
cout<<" \n";
cout<<" ---------1新书入库----------------2读者登记---------- \n";
cout<<" ---------3借阅图书----------------4归还图书---------- \n";
cout<<" ---------5查询图书信息------------6查询读者信息------ \n";
cout<<" ---------7修改图书信息------------8删除图书信息------ \n";
cout<<" ------------------9退出图书管理系统------------------ \n";
cout<<"请选择菜单的数字:";
for(;;)
{
cin>>sz; //输入数字
if(sz<1||sz>9)
cout<<"输入错误!请重新输入:";
else
break;
}
return sz;
}
/********************************************************
*功能描述:主菜单选择函数
*输入参数:每个数字对应着相应的功能,对数字进行选择
*输出参数:对应函数的实现
*其他说明:循环调用函数
********************************************************/
void Menu_select(RD *h_reader,BK *h_book) //主菜单选择函数
{
for(;;) //循环调用
{
switch(Menu()) //功能选择
{
case 1:
cout<<1<<endl;
add_book(h_book); //新书入库
break;
case 2:
cout<<2<<endl;
add_reader(h_reader); //读者登记
break;
case 3:
borrow_book(h_book,h_reader); //借书
break;
case 4:
return_book(h_book,h_reader); //还书
break;
case 5:
print_book(h_book); //显示图书信息
break;
case 6:
print_reader(h_reader); //显示读者信息
break;
case 7:
change_book(h_book); //修改图书信息
break;
case 8:
dele_book(h_book); //删除图书
break;
case 9:
printf("\n欢迎使用本系统!再见!\n");
getch();
exit(0);
default:
printf("错误!");
exit(0);
}
}
}
/********************************************************
*功能描述:初始化函数
*输入参数:输入图书的编号、名称、作者、价格和数量
*输出参数:图书信息的初始化完毕
*其他说明:申请新的空间来保存信息
********************************************************/
void chushihua(BK *&h_book) //初始化
{
BK *p0;
p0=new book; //申请新空间
p0=(BK*)malloc(sizeof(BK)); //开辟新的存储空间
h_book=p0;
cout<<" ========================欢迎进入烟台大学图书管理系统!!!========================="<<endl;
cout<<endl;
cout<<"请初始化图书信息"<<endl;
cout<<endl;
cout<<"图书编号:"; //输入图书信息
cin>>p0->book_num;
cout<<"图书名称:";
cin>>p0->book_name; //输入名称
cout<<"图书作者:";
cin>>p0->book_writer; //输入作者
cout<<"图书价格:";
cin>>p0->book_price; //输入价格
cout<<"图书数量:";
cin>>p0->book_kc; //输入图书的数量
p0->book_xy=p0->book_kc; //图书现有量=库存量
p0->next=NULL;
h_book=p0;
cout<<"图书信息初始化完毕!按任意键继续下一步操作!\n";
getch();
}
/********************************************************
*功能描述:添加新书
*输入参数:输入图书的编号、名称、作者、价格和数量
*输出参数:添加完毕
*其他说明:若图书编号存在则添加图书数量直接入库。若图书的编号不存在,
则输入名称、作者、价格和数量。
********************************************************/
void add_book(BK *&h_book) //新书入库
{
BK *p,*p0,*p1;
p=p1=h_book; //p1和p0指向书籍编号链表的头节点
cout<<"\n进入图书添加模块...\n";
cout<<"\n请输入将要添加的新书信息...\n";
p0=new book; //p0指针指向新书
cout<<"图书编号:";
cin>>p0->book_num;
while(strcmp(p0->book_num,p1->book_num)!=0&&p1->next!=NULL) //while遍历图书链表,若不相同指针往下走
p1=p1->next;
if(strcmp(p0->book_num,p1->book_num)==0) //此处分两种情况,若图书编号存在,则直接入库,只须输入书的数量
{
cout<<"\n此种图书已存在!!!"<<endl;
cout<<"直接添加图书数量:";
cin>>p0->book_kc;
p1->book_kc+=p0->book_kc;
p1->book_xy+=p0->book_kc;
}
else //若不存在,则需要输入其他的信息,然后在进行插入操作
{
cout<<"图书名称:";
cin>>p0->book_name;
cout<&l
数据结构课程设计——图书管理系统
最新推荐文章于 2024-10-11 16:17:22 发布
该博客介绍了使用数据结构实现的图书管理系统,涵盖了图书初始化、新书入库、读者登记、借阅与归还图书等核心功能,并通过冒泡排序进行信息管理。
摘要由CSDN通过智能技术生成