⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 基于 B- 树实现的图书管理系统1.rar
💻 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 + -