📄 main.cpp
字号:
#include "btree.h"
//菜单的显示,并接受用户返回的选项
char menu_selete(){
char ch;
system("cls");
printf("\t**************** 基于 B- 树实现的图书管理系统 ***************\n\n");
printf("\t\t\t1.输入书信息. \n");
printf("\t\t\t2.查找书信息. \n");
printf("\t\t\t3.显示书信息. \n");
printf("\t\t\t4.删除书信息. \n");
printf("\t\t\t5.借阅. \n");
printf("\t\t\t6.还书. \n");
printf("\t\t\t7.查找某作者的全部书籍\n");
printf("\t\t\t8.退出. \n");
printf("\t*************************************************************\n\n");
//gotoxy(25,23);
printf("\t\t请选择你所需要的操作(1~8):");
do{
ch = getch();
}while(ch < '1' || ch > '8');
return ch;
}
void main(){
BTree root = NULL; //树根
KeyType k;
Result rs; //查找的结果
writeLog("欢迎使用该图书管理系统,程序开始"); //写入日记文件中
while(1){
switch(menu_selete()){
case '1':
system("cls");
printf("\t\t------------------ 录入书信息 -----------------\n");
InBookMess(k);
InsertBTree(root,k);
printf("\t\t\t--------- 录入结束 ---------\n\n");
printf("\t\t\t当前书库的库存信息如下:\n");
writeLog("当前的库存后的库存如下:(下面显示的只是书号)\n " + display(root,0));
printf("\t\t\t\t按任意键返回");
getch();
break;
case '2':
system("cls");
printf("\t\t------------------ 查找书信息 -----------------\n\n");
InBookKey(k);
printf("\n");
rs = SearchBTree(root,k);
if(rs.tag == 1){
ShowBookMess(rs.pt->key[rs.i]);
writeLog("查找书号" + itos(k.key) + "成功!"); //将会话添加到日记文件中
}
else{
printf("\t\t\t\t你要查找的书号 %d 不存在!\n\n",k.key);
writeLog("查找书号" + itos(k.key) + "不存在!"); //将会话添加到日记文件中
}
printf("\n\t\t------------------ 查找结束 -----------------\n");
printf("\t\t\t\t按任意键返回");
getch();
break;
case '3':
system("cls");
printf("\t\t------------------ 全部的书 -----------------\n\n");
writeLog("显示书的全部信息如下:(下面显示的只是书号)\n " + display(root,0));
printf("\t\t------------------ 显示完毕 -----------------\n");
printf("\t\t\t\t按任意键返回");
getch();
break;
case '4':
system("cls");
printf("\t\t------------------ 删除书 -----------------\n\n");
InBookKey(k);
if(DeleteBTree(root,k) == OK){
printf("\t\t\t\t删除 %d 成功!\n\n",k.key);
printf("\t\t当前书库中有如下书:\n");
writeLog("删除书号" + itos(k.key) + "成功!\n\t当前的库存后的库存如下:(下面显示的只是书号)\n " + display(root,0));
}
else{
printf("\t\t\t\t删除 %d 失败!\n\n",k.key);
printf("\t\t当前书库中有如下书:\n");
writeLog("当前的库存后的库存如下:(下面显示的只是书号)\n " + display(root,0));
}
printf("\n\t\t\t\t按任意键返回");
getch();
break;
case '5':
system("cls");
printf("\t\t------------------ 借阅 -----------------\n\n");
InBookKey(k);
if(BorrowBook(root,k)){
printf("\n\t\t\t借阅成功!\n");
}
else{
printf("\n\t\t\t借阅失败!\n");
}
printf("\n\t\t\t\t按任意键返回");
getch();
break;
case '6':
system("cls");
printf("\t\t------------------ 还书 -----------------\n\n");
InBookKey(k);
if(ReturnBook(root,k)){
printf("\n\t\t\t归还成功!\n");
}
else{
printf("\n\t\t\t归还失败!\n");
}
printf("\n\t\t\t\t按任意键返回");
getch();
break;
case '7':
system("cls");
searchAuthorB(root); //查找和作者相关的书籍
printf("\n\t\t\t\t按任意键返回");
getch();
break;
case '8':
printf("\n\n\n\t\t\t");
writeLog("退出程序\n\n\n");
exit(0);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -