
#define BOOK_NUM 10
#define READER_NUM 10
#define BOOK_DATA All_Book[i].book_id,All_Book[i].book_name,All_Book[i].book_author,All_Book[i].book_press,All_Book[i].amount
#define READER_DATA All_Reader[i].reader_id,All_Reader[i].reader_name,All_Reader[i].reader_sex,All_Reader[i].max_usebook,All_Reader[i].now_usebook
void ShowMainMeun();
void ShowBookMenu();
void ShowReaderMenu();
void ShowIObookMenu();
struct Book
{
int book_id;
char book_name[50];
char book_author[25];
char book_press[30];
int amount;
};
struct Reader
{
int reader_id;
char reader_name[25];
char reader_sex[10];
int max_usebook;
int now_usebook;
int Bookid[10];
};
struct Book All_Book[BOOK_NUM];
struct Reader All_Reader[READER_NUM];
int ReadBookFile(const char* pcMode)
{
int iBookRecord = 0;
FILE* pfBook;
fopen_s(&pfBook, "book.txt", pcMode);
if (pfBook == NULL)
{
return -1;
}
while (!feof(pfBook))
{
if (fread(&All_Book[iBookRecord], sizeof(struct Book), 1, pfBook))
{
iBookRecord++;
}
}
fclose(pfBook);
return iBookRecord;
}
int Find_Book_Mode(int x)
{
int find_id = -1;
int iBookRecord;
system("cls");
iBookRecord = ReadBookFile("rb");
if (iBookRecord == -1)
{
printf("该文件打开失败,请新增图书信息。\n");
return -1;
}
if (iBookRecord == 0)
{
printf("文件中没有图书信息。\n");
return -2;
}
else
{
int key = 0;
printf("\t----------------------------------------------------\n");
if (x == 1)
{
int Book_id;
printf("确认输入目标书籍编号:");
scanf_s("%d", &Book_id);
getchar();
for (int i = 0; i < iBookRecord; i++)
{
if (All_Book[i].book_id == Book_id)
{
key = 1;
find_id = i;
printf("已找到此图书信息。\n");
printf("\t%-8s%-15s%-10s%-12s%-10s\n", "编号", "书名", "作者", "出版社", "库存量");
printf("\t%-8d%-15s%-10s%-12s%3d本\n", BOOK_DATA);
break;
}
}
}
else if (x == 2)
{
char Book_name[50];
printf("输入要查询的书籍名称:");
scanf_s("%s", Book_name, 50);
getchar();
for (int i = 0; i < iBookRecord; i++)
{
if (strcmp(Book_name, All_Book[i].book_name) == 0)
{
key = 1;
find_id = i;
printf("已找到此图书信息。\n");
printf("\t%-8s%-15s%-10s%-12s%-10s\n", "编号", "书名", "作者", "出版社", "库存量");
printf("\t%-8d%-15s%-10s%-12s%3d本\n", BOOK_DATA);
break;
}
}
}
else if (x == 3)
{
char Book_author[20];
printf("输入要查询的书籍作者:");
scanf_s("%s", Book_author, 20);
getchar();
for (int i = 0; i < iBookRecord; i++)
{
if (strcmp(Book_author, All_Book[i].book_author) == 0)
{
key = 1;
find_id = i;
printf("已找到此图书信息。\n");
printf("\t%-8s%-15s%-10s%-12s%-10s\n", "编号", "书名", "作者", "出版社", "库存量");
printf("\t%-8d%-15s%-10s%-12s%3d本\n", BOOK_DATA);
break;
}
}
}
else if (x == 4)
{
char Book_press[30];
printf("输入要查询的书籍出版社:");
scanf_s("%s", Book_press, 30);
getchar();
for (int i = 0; i < iBookRecord; i++)
{
if (strcmp(Book_press, All_Book[i].book_press) == 0)
{
key = 1;
find_id = i;
printf("已找到此图书信息。\n");
printf("\t%-8s%-15s%-10s%-12s%-10s\n", "编号", "书名", "作者", "出版社", "库存量");
printf("\t%-8d%-15s%-10s%-12s%3d本\n", BOOK_DATA);
break;
}
}
}
if (key == 0)
{
printf("\t 未查询到此图书信息! -_-##\n");
}
printf("\t----------------------------------------------------\n\n");
}
printf("\t------------------查找图书子菜单--------------------\n");
printf("\t\t 1.按书籍编号查找\n");
printf("\t\t 2.按书籍名称查找\n");
printf("\t\t 3.按书籍作者查找\n");
printf("\t\t 4.按书籍出版社查找\n");
printf("\t\t 0.返回上一级菜单\n");
printf("\t----------------------------------------------------\n");
return find_id;
}
void Show_AllBook()
{
int i;
int iBookRecord;
system("cls");
iBookRecord = ReadBookFile("rb");
if (iBookRecord == -1)
{
printf("该文件打开失败,请新增图书信息。\n");
}
if (iBookRecord == 0)
{
printf("文件中没有图书信息。\n");
}
else
{
printf("\t------------------------------------------------------------\n");
printf("\t%-8s%-15s%-10s%-20s%-10s\n", "编号", "书名", "作者", "出版社", "库存量");
for (i = 0; i < iBookRecord; i++)
{
printf("\t%-8d%-15s%-10s%-20s%3d本\n", BOOK_DATA);
}
printf("\t-----------------------------------------------------------\n\n");
}
printf("\t----------------------子菜单------------------------\n");
printf("\t\t 1.显示所有图书信息\n");
printf("\t\t 2.增添图书信息\n");
printf("\t\t 3.查找图书信息\n");
printf("\t\t 4.删除图书信息\n");
printf("\t\t 5.修改图书信息\n");
printf("\t\t 0.返回上一级菜单\n");
printf("\t----------------------------------------------------\n");
}
void Add_NewBook()
{
FILE* pfBook;
int i;
int iBookRecord;
int iFlagExist;
char cFlag;
system("cls");
iBookRecord = ReadBookFile("ab+");
if (iBookRecord == -1)
{
printf("文件打开失败!\n");
return;
}
else if (iBookRecord == 0)
{
printf("没有图书信息!\n");
}
else
{
Show_AllBook();
}
printf("请选择是否录入信息(y/n)?\n");
cFlag = getchar();
getchar();
if (cFlag == 'n')
{
return;
}
fopen_s(&pfBook, "book.txt", "ab+");
if (pfBook == NULL)
{
printf("文件打开失败!\n");
return;
}
if (cFlag == 'y')
{
while (cFlag == 'y')
{
if (iBookRecord >= BOOK_NUM)
{
printf("记录已满!\n");
fclose(pfBook);
return;
}
printf("请输入图书编号!\n");
do
{
iFlagExist = 0;
scanf_s("%d", &All_Book[iBookRecord].book_id);
getchar();
for (i = 0; i < iBookRecord; i++)
{
if (All_Book[i].book_id == All_Book[iBookRecord].book_id)
{
iFlagExist = 1;
printf("图书编号重复!\n");
break;
}
}
} while (iFlagExist == 1);
printf("请输入图书名称:\n");
scanf_s("%s", All_Book[iBookRecord].book_name, 50);
getchar();
printf("请输入图书作者:\n");
scanf_s("%s", All_Book[iBookRecord].book_author, 20);
getchar();
printf("请输入图书出版社:\n");
scanf_s("%s", All_Book[iBookRecord].book_press, 30);
getchar();
printf("请输入图书库存量:\n");
scanf_s("%d", &All_Book[iBookRecord].amount);
getchar();
if (fwrite(&All_Book[iBookRecord], sizeof(struct Book), 1, pfBook) != 1)
{
printf("无法保存该信息!\n");
return;
}
else
{
printf("%d号图书已经保存!\n", All_Book[iBookRecord].book_id);
iBookRecord++;
}
printf("是否继续录入信息(y/n)?\n");
cFlag = getchar();
getchar();
}
}
fclose(pfBook);
printf("图书信息已添加完毕!\n");
system("cls");
Show_AllBook();
}
void Find_Book()
{
system("cls");
printf("\t------------------查找图书子菜单--------------------\n");
printf("\t\t 1.按书籍编号查找\n");
printf("\t\t 2.按书籍名称查找\n");
printf("\t\t 3.按书籍作者查找\n");
printf("\t\t 4.按书籍出版社查找\n");
printf("\t\t 0.返回上一级菜单\n");
printf("\t----------------------------------------------------\n");
int number;
do
{
printf("等待输入:");
scanf_s("%d", &number);
getchar();
switch (number)
{
case 0:
ShowBookMenu();
break;
case 1:
case 2:
case 3:
case 4:
Find_Book_Mode(number);
break;
default:
printf("▲请输入合法选项!\n");
}
} while (number);
}
void Delete_Book()
{
system("cls");
Show_AllBook();
char cFlag;
int iBookrecord;
int Delete;
int Deleteindex;
FILE* pfBook;
printf("输入要删除的图书编号:\n");
scanf_s("%d", &Delete);
getchar();
Deleteindex = Find_Book_Mode(1);
if (Deleteindex == -1)
{
return;
}
iBookrecord = ReadBookFile("rb");
printf("确认是否删除此信息(y/n)\n");
cFlag = getchar();
getchar();
if (cFlag == 'n')
{
return;
}
if (cFlag == 'y')
{
for (int i = Deleteindex; i < iBookrecord - 1; i++)
{
All_Book[i] = All_Book[i + 1];
}
}
fopen_s(&pfBook, "book.txt", "wb");
if (pfBook != NULL)
{
for (int i = 0; i < iBookrecord - 1; i++)
{
if (fwrite(&All_Book[i], sizeof(struct Book), 1, pfBook) != 1)
{
printf("无法保存该信息。\n");
return;
}
}
fclose(pfBook);
printf("编号为%d的数据已删除\n", Delete);
}
Show_AllBook();
}
void Alter_Book()
{
system("cls");
Show_AllBook();
char cFlag;
int iBookrecord;
int Delete;
int Deleteindex;
FILE* pfBook;
printf("输入要修改的图书编号:\n");
scanf_s("%d", &Delete);
getchar();
Deleteindex = Find_Book_Mode(1);
if (Deleteindex == -1)
{
return;
}
iBookrecord = ReadBookFile("rb");
printf("确认是否修改此信息(y/n)\n");
cFlag = getchar();
getchar();
if (cFlag == 'n')
{
return;
}
if (cFlag == 'y')
{
printf("请输入图书名称:\n");
scanf_s("%s", All_Book[Deleteindex].book_name, 50);
getchar();
printf("请输入图书作者:\n");
scanf_s("%s", All_Book[Deleteindex].book_author, 20);
getchar();
printf("请输入图书出版社:\n");
scanf_s("%s", All_Book[Deleteindex].book_press, 30);
getchar();
printf("请输入图书库存量:\n");
scanf_s("%d", &All_Book[Deleteindex].amount);
getchar();
}
fopen_s(&pfBook, "book.txt", "wb");
if (pfBook != NULL)
{
for (int i = 0; i < iBookrecord; i++)
{
if (fwrite(&All_Book[i], sizeof(struct Book), 1, pfBook) != 1)
{
printf("无法保存该信息。\n");
return;
}
}
fclose(pfBook);
printf("修改成功。\n");
}
Show_AllBook();
}
int ReadReaderFile(const char* pcMode)
{
int iReaderRecord = 0;
FILE* pfReader;
fopen_s(&pfReader, "reader.txt", pcMode);
if (pfReader == NULL)
{
return -1;
}
while (!feof(pfReader))
{
if (fread(&All_Reader[iReaderRecord], sizeof(struct Reader), 1, pfReader))
{
iReaderRecord++;
}
}
fclose(pfReader);
return iReaderRecord;
}
void Show_AllReader()
{
int i;
int iReaderRecord;
system("cls");
iReaderRecord = ReadReaderFile("rb");
if (iReaderRecord == -1)
{
printf("该文件打开失败,请新增读者信息。\n");
}
if (iReaderRecord == 0)
{
printf("文件中没有读者信息。\n");
}
else
{
printf("\t------------------------------------------------------------\n");
printf("\t%-10s%-10s%-10s%-20s%-20s\n", "卡号", "姓名", "性别", "最大可借图书数量", "当前可借图书数量");
for (i = 0; i < iReaderRecord; i++)
{
printf("\t%-10d%-10s%-10s%-20d%-20d\n", READER_DATA);
}
printf("\t-----------------------------------------------------------\n\n");
}
printf("\t----------------------子菜单------------------------\n");
printf("\t\t 1.显示所有读者信息\n");
printf("\t\t 2.增添读者信息\n");
printf("\t\t 3.查找读者信息\n");
printf("\t\t 4.删除读者信息\n");
printf("\t\t 5.修改读者信息\n");
printf("\t\t 0.返回上一级菜单\n");
printf("\t----------------------------------------------------\n");
}
int Find_Reader_Mode(int x)
{
int find_id = -1;
int iReaderRecord;
system("cls");
iReaderRecord = ReadReaderFile("rb");
if (iReaderRecord == -1)
{
printf("该文件打开失败,请新增读者信息。\n");
return -1;
}
if (iReaderRecord == 0)
{
printf("文件中没有读者信息。\n");
return -2;
}
else
{
int key = 0;
printf("\t----------------------------------------------------\n");
if (x == 1)
{
int Reader_id;
printf("输入目标读者卡号:");
scanf_s("%d", &Reader_id);
getchar();
for (int i = 0; i < iReaderRecord; i++)
{
if (All_Reader[i].reader_id == Reader_id)
{
key = 1;
find_id = i;
printf("已找到此读者信息。\n");
printf("\t%-10s%-10s%-10s%-20s%-20s\n", "卡号", "姓名", "性别", "最大可借图书数量", "当前可借图书数量");
printf("\t%-10d%-10s%-10s%-20d%-20d\n", READER_DATA);
break;
}
}
}
else if (x == 2)
{
char Reader_name[25];
printf("输入目标读者姓名:");
scanf_s("%s", Reader_name, 25);
getchar();
for (int i = 0; i < iReaderRecord; i++)
{
if (strcmp(Reader_name, All_Reader[i].reader_name) == 0)
{
key = 1;
find_id = i;
printf("已找到此读者信息。\n");
printf("\t%-10s%-10s%-10s%-20s%-20s\n", "卡号", "姓名", "性别", "最大可借图书数量", "当前可借图书数量");
printf("\t%-10d%-10s%-10s%-20d%-20d\n", READER_DATA);
break;
}
}
}
if (key == 0)
{
printf("\t 未查询到此读者信息! -_-##\n");
}
printf("\t----------------------------------------------------\n\n");
}
printf("\t------------------查找图书子菜单--------------------\n");
printf("\t\t 1.按读者卡号查找\n");
printf("\t\t 2.按读者姓名查找\n");
printf("\t\t 0.返回上一级菜单\n");
printf("\t----------------------------------------------------\n");
return find_id;
}
int Add_NewReader()
{
FILE* pfReader;
int i;
int iReaderRecord;
int iFlagExist;
char cFlag;
system("cls");
iReaderRecord = ReadReaderFile("ab+");
if (iReaderRecord == -1)
{
printf("文件打开失败!\n");
return 0;
}
else if (iReaderRecord == 0)
{
printf("没有读者信息!\n");
}
else
{
Show_AllReader();
}
printf("请选择是否录入信息(y/n)?\n");
cFlag = getchar();
getchar();
if (cFlag == 'n')
{
return 0;
}
fopen_s(&pfReader, "reader.txt", "ab+");
if (pfReader == NULL)
{
printf("文件打开失败!\n");
return 0;
}
if (cFlag == 'y')
{
while (cFlag == 'y')
{
if (iReaderRecord >= READER_NUM)
{
printf("记录已满!\n");
fclose(pfReader);
return 0;
}
printf("请输入读者卡号!\n");
do
{
iFlagExist = 0;
scanf_s("%d", &All_Reader[iReaderRecord].reader_id);
getchar();
for (i = 0; i < iReaderRecord; i++)
{
if (All_Reader[i].reader_id == All_Reader[iReaderRecord].reader_id)
{
iFlagExist = 1;
printf("读者卡号重复!\n");
break;
}
}
} while (iFlagExist == 1);
printf("请输入读者姓名:\n");
scanf_s("%s", All_Reader[iReaderRecord].reader_name, 20);
getchar();
printf("请输入读者性别:\n");
scanf_s("%s", All_Reader[iReaderRecord].reader_sex, 10);
getchar();
All_Reader[iReaderRecord].max_usebook = 100;
if (fwrite(&All_Reader[iReaderRecord], sizeof(struct Reader), 1, pfReader) != 1)
{
printf("无法保存该信息!\n");
return 0;
}
else
{
printf("%d号读者已经保存!\n", All_Reader[iReaderRecord].reader_id);
iReaderRecord++;
}
printf("是否继续录入信息(y/n)?\n");
cFlag = getchar();
getchar();
}
}
fclose(pfReader);
printf("读者信息已添加完毕!\n");
system("cls");
Show_AllReader();
return 1;
}
void Find_Reader()
{
system("cls");
printf("\t------------------查找读者子菜单-------------------\n");
printf("\t\t 1.按读者卡号查找\n");
printf("\t\t 2.按读者姓名查找\n");
printf("\t\t 0.返回上一级菜单\n");
printf("\t----------------------------------------------------\n");
int number;
do
{
printf("等待输入:");
scanf_s("%d", &number);
getchar();
switch (number)
{
case 0:
ShowReaderMenu();
break;
case 1:
case 2:
Find_Reader_Mode(number);
break;
default:
printf("▲请输入合法选项!\n");
}
} while (number);
}
void Delete_Reader()
{
system("cls");
Show_AllReader();
char cFlag;
int iReaderrecord;
int Delete;
int Deleteindex;
FILE* pfReader;
printf("输入要删除的读者的卡号:\n");
scanf_s("%d", &Delete);
getchar();
printf("请确认卡号。\n");
Deleteindex = Find_Reader_Mode(1);
if (Deleteindex == -1)
{
return;
}
iReaderrecord = ReadReaderFile("rb");
printf("确认是否删除此信息(y/n)\n");
cFlag = getchar();
getchar();
if (cFlag == 'n')
{
return;
}
if (cFlag == 'y')
{
for (int i = Deleteindex; i < iReaderrecord - 1; i++)
{
All_Reader[i] = All_Reader[i + 1];
}
}
fopen_s(&pfReader, "reader.txt", "wb");
if (pfReader != NULL)
{
for (int i = 0; i < iReaderrecord - 1; i++)
{
if (fwrite(&All_Reader[i], sizeof(struct Reader), 1, pfReader) != 1)
{
printf("无法保存该信息。\n");
return;
}
}
fclose(pfReader);
printf("编号为%d的数据已删除\n", Delete);
}
Show_AllReader();
}
void Alter_Reader()
{
system("cls");
Show_AllReader();
char cFlag;
int Delete;
int Deleteindex;
FILE* pfReader;
printf("输入要修改的读者卡号:\n");
scanf_s("%d", &Delete);
getchar();
printf("请确认卡号。\n");
Deleteindex = Find_Reader_Mode(1);
if (Deleteindex == -1)
{
return;
}
int iReaderrecord = ReadReaderFile("rb");
printf("确认是否修改此信息(y/n)\n");
cFlag = getchar();
getchar();
if (cFlag == 'n')
{
return;
}
if (cFlag == 'y')
{
printf("请输入读者姓名:\n");
scanf_s("%s", All_Reader[Deleteindex].reader_name, 25);
getchar();
printf("请输入读者性别:\n");
scanf_s("%s", All_Reader[Deleteindex].reader_sex, 10);
getchar();
}
fopen_s(&pfReader, "reader.txt", "wb");
if (pfReader != NULL)
{
for (int i = 0; i < iReaderrecord; i++)
{
if (fwrite(&All_Reader[i], sizeof(struct Reader), 1, pfReader) != 1)
{
printf("无法保存该信息。\n");
return;
}
}
fclose(pfReader);
printf("修改成功。\n");
}
Show_AllReader();
}
void BorrowBook()
{
int Reader_id = -1;
int iReaderrecord = ReadReaderFile("rb");
int mode;
printf("按卡号查询请按1,按姓名查询请按2。\n :");
scanf_s("%d", &mode);
getchar();
for (int i = 0; i < iReaderrecord; i++)
{
if (All_Reader[i].reader_id == mode)
{
Reader_id = i;
break;
}
}
if (Reader_id == -1) {
if (Add_NewReader() == 0)
return;
Reader_id = iReaderrecord++;
}
for (int i = 0; i < All_Reader[Reader_id].now_usebook; i++)
{
printf("%d\n", All_Reader[Reader_id].Bookid[i]);
}
if (All_Reader[Reader_id].now_usebook < All_Reader[Reader_id].max_usebook)
{
int iBookRecord = ReadBookFile("rb");
int Book_id;
printf("确认输入目标书籍编号:");
scanf_s("%d", &Book_id);
getchar();
int i;
for (i = 0; i < iBookRecord; i++)
{
if (All_Book[i].book_id == Book_id)
{
break;
}
}
if (i < iBookRecord && All_Book[i].amount>0)
{
All_Book[i].amount--;
All_Reader[Reader_id].Bookid[All_Reader[Reader_id].now_usebook] = Book_id;
All_Reader[Reader_id].now_usebook++;
printf("jieshucehnggong。\n");
printf("\t%-8s%-15s%-10s%-12s%-10s\n", "编号", "书名", "作者", "出版社", "库存量");
printf("\t%-8d%-15s%-10s%-12s%3d本\n", BOOK_DATA);
FILE* pfReader, * pfBook;
fopen_s(&pfReader, "reader.txt", "wb");
if (pfReader != NULL)
{
for (int i = 0; i < iReaderrecord; i++)
{
if (fwrite(&All_Reader[i], sizeof(struct Reader), 1, pfReader) != 1)
{
printf("无法保存该信息。\n");
return;
}
}
fclose(pfReader);
}
fopen_s(&pfBook, "book.txt", "wb");
if (pfBook != NULL)
{
for (int i = 0; i < iBookRecord; i++)
{
if (fwrite(&All_Book[i], sizeof(struct Book), 1, pfBook) != 1)
{
printf("无法保存该信息。\n");
return;
}
}
fclose(pfBook);
printf("保存成功。\n");
}
}
else
{
printf("没有库存\n");
}
}
else
{
printf("借阅已达上限!\n");
}
}
void ReturnBook()
{
int Reader_id = -1;
int iReaderrecord = ReadReaderFile("rb");
int mode;
printf("按卡号查询请按1,按姓名查询请按2。\n :");
scanf_s("%d", &mode);
getchar();
for (int i = 0; i < iReaderrecord; i++)
{
if (All_Reader[i].reader_id == mode)
{
Reader_id = i;
break;
}
}
if (Reader_id == -1) {
if (Add_NewReader() == 0)
return;
Reader_id = iReaderrecord++;
}
for (int i = 0; i < All_Reader[Reader_id].now_usebook; i++)
{
printf("%d\n", All_Reader[Reader_id].Bookid[i]);
}
int iBookRecord = ReadBookFile("rb");
int Book_id;
printf("确认输入目标书籍编号:");
scanf_s("%d", &Book_id);
getchar();
int i;
for (i = 0; i < iBookRecord; i++)
{
if (All_Book[i].book_id == Book_id)
{
break;
}
}
All_Book[i].amount++;
for (i = 0; i < All_Reader[Reader_id].now_usebook; i++) {
if (All_Reader[Reader_id].Bookid[i] == Book_id)
break;
}
for (; i < All_Reader[Reader_id].now_usebook; i++)
{
All_Reader[Reader_id].Bookid[i] = All_Reader[Reader_id].Bookid[i + 1];
}
All_Reader[Reader_id].now_usebook--;
FILE* pfReader, * pfBook;
fopen_s(&pfReader, "reader.txt", "wb");
if (pfReader != NULL)
{
for (i = 0; i < iReaderrecord; i++) {
if (fwrite(&All_Reader[i], sizeof(struct Reader), 1, pfReader) != 1)
{
printf("无法保存该信息。\n");
return;
}
}
fclose(pfReader);
}
fopen_s(&pfBook, "book.txt", "wb");
if (pfBook != NULL)
{
for (i = 0; i < iBookRecord; i++)
{
if (fwrite(&All_Book[i], sizeof(struct Book), 1, pfBook) != 1)
{
printf("无法保存该信息。\n");
return;
}
}
fclose(pfBook);
printf("保存成功。\n");
}
}
void ShowMainMeun()
{
system("cls");
printf("\t\t-------图书管理系统--------\n");
printf("\t\t 1.图书管理\n");
printf("\t\t 2.读者管理\n");
printf("\t\t 3.借/还书管理\n");
printf("\t\t 0.退出系统\n");
printf("\t\t---------------------------\n");
int number;
do
{
printf("等待输入:");
scanf_s("%d", &number);
getchar();
switch (number)
{
case 0:
printf("退出系统.....");
exit(0);
case 1:
ShowBookMenu();
break;
case 2:
ShowReaderMenu();
break;
case 3:
ShowIObookMenu();
break;
default:
printf("▲请输入合法选项!\n");
}
} while (number);
}
void ShowBookMenu()
{
system("cls");
printf("\t----------------------子菜单------------------------\n");
printf("\t\t 1.显示所有图书信息\n");
printf("\t\t 2.增添图书信息\n");
printf("\t\t 3.查找图书信息\n");
printf("\t\t 4.删除图书信息\n");
printf("\t\t 5.修改图书信息\n");
printf("\t\t 0.返回上一级菜单\n");
printf("\t----------------------------------------------------\n");
int number;
do
{
printf("等待输入:");
scanf_s("%d", &number);
getchar();
switch (number)
{
case 0:
ShowMainMeun();
break;
case 1:
Show_AllBook();
break;
case 2:
Add_NewBook();
break;
case 3:
Find_Book();
break;
case 4:
Delete_Book();
break;
case 5:
Alter_Book();
break;
default:
printf("▲请输入合法选项!\n");
}
} while (number);
}
void ShowReaderMenu()
{
system("cls");
printf("\t----------------------子菜单------------------------\n");
printf("\t\t 1.显示所有读者信息\n");
printf("\t\t 2.增添读者信息\n");
printf("\t\t 3.查找读者信息\n");
printf("\t\t 4.删除读者信息\n");
printf("\t\t 5.修改读者信息\n");
printf("\t\t 0.返回上一级菜单\n");
printf("\t----------------------------------------------------\n");
int number;
do
{
printf("等待输入:");
scanf_s("%d", &number);
getchar();
switch (number)
{
case 0:
ShowMainMeun();
break;
case 1:
Show_AllReader();
break;
case 2:
Add_NewReader();
break;
case 3:
Find_Reader();
break;
case 4:
Delete_Reader();
break;
case 5:
Alter_Reader();
break;
default:
printf("▲请输入合法选项!\n");
}
} while (number);
}
void ShowIObookMenu()
{
system("cls");
printf("\t-----------------借还书子菜单----------------------\n");
printf("\t 1.借书登记\n");
printf("\t 2.还书登记\n");
printf("\t 0.返回上一级菜单\n");
printf("\t---------------------------------------------------\n");
int number;
do
{
printf("等待输入:");
scanf_s("%d", &number);
getchar();
switch (number)
{
case 0:
ShowMainMeun();
break;
case 1:
BorrowBook();
break;
case 2:
ReturnBook();
break;
default:
printf("▲请输入合法选项!\n");
}
} while (number);
}
int main()
{
ShowMainMeun();
return 0;
}