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

📄 show.cpp

📁 基于 B- 树实现的图书管理系统1.rar
💻 CPP
字号:
#include "btree.h"

//输入书的具体信息
void InBookMess(KeyType &book){	
	char s[5];
	printf("\t\t\t请输入书号:");
	do{		
		scanf("%s",s);
		book.key = atoi(s);
		if(book.key < 1 || book.key > 65535){
			printf("\t\t\t输入有误,请重新输入:");
		}
	}while(book.key < 1 || book.key > 65535);
	
	printf("\t\t\t请输入书名:");
	scanf("%s",&book.bname);
	printf("\t\t\t请输入作者:");
	scanf("%s",&book.writter);

	printf("\t\t\t请输入总量:");
	do{
		scanf("%s",s);
		book.total = atoi(s);
		if(book.total < 1 || book.total > 65535){
			printf("\t\t\t输入有误,请重新输入:");
		}
	}while(book.total < 1 || book.total > 65535);

	book.left = book.total;
	book.user = NULL;
	//book.user = (User *)malloc(sizeof(User));	
}

//输入书的关键字
void InBookKey(KeyType &book){	
	char s[5];
	printf("\t\t\t请输入书号:");
	do{		
		scanf("%s",s);
		book.key = atoi(s);
		if(book.key < 1 || book.key > 65535){
			printf("\t\t\t输入有误,请重新输入:");
		}
	}while(book.key < 1 || book.key > 65535);

	book.bname[0] = '\0';
	book.writter[0] = '\0';
	book.total = 0;
	book.left = 0;
}

//显示书的具体信息
void ShowBookMess(Book book){
	User *temp;
	printf("\t\t\t书号为:%3d\n", book.key);
	printf("\t\t\t书名为:%3s\n", book.bname);
	printf("\t\t\t作者为:%3s\n", book.writter);
	printf("\t\t\t剩余量为:%3d\n", book.left);
	printf("\t\t\t总量为:%3d\n", book.total);
	printf("\t\t------------ 已借该书的人有 ------------\n");
	temp = book.user;
	while(temp){
		printf("\t图书证号:%d\t借书日期:%d年%d月%d日\t归还日期:%d年%d月%d日\n",temp->number,temp->year,temp->month,temp->day,temp->dyear,temp->dmonth,temp->dday);
		temp = temp->next;
	}
	printf("\n");
}

//显示某个结点的信息
string ShowBTNode(BTree p) {
	string logmess = "";
	if(!p)
		return "";
	printf("(");
	logmess += "(";
	int j = p->keynum;
	for(int i = 1; i <= p->keynum; i++){
		printf("书号为:%d", p->key[i].key);
		logmess += itos(p->key[i].key);
		//printf("书名为:%3s", p->key[i].bname);
		//printf("作者为:%3s", p->key[i].writter);
		//printf("剩余量为:%3d", p->key[i].left);
		//printf("总量为:%3d", p->key[i].total);
		j--;
		if(j){
			printf(",----");
			logmess += ",----";
		}
	}
	printf(")\n");	
	logmess += ")\n";
	return logmess;
}

//显示整棵树的信息
string display(BTree T,int k){
	string logmess = "";
	int i = 0;
	if(T) { 
		for(i = 0; i <= k - 1; i++){
			printf("\t");	  //用空格来显示第几层
			logmess += "\t";
		}
		if(k != 0){ 
			printf("\t+--->");
			logmess += "\t+--->";
		}
		else{
			printf("\t");
			logmess += "\t";
		}
		logmess += ShowBTNode(T);	//显示这个结点的全部值	
		for(i=0; i<=T->keynum; i++){ //使用递归的方法显示每个结点	
			if(T->ptr[i]){
				logmess += display(T->ptr[i], k+1);
			}
		}
	}
	return logmess;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -