📄 show.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 + -