parent
2222568065
commit
e5af14f617
@ -0,0 +1,124 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <iostream>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
|
||||||
|
#include "data.h"
|
||||||
|
#include "sqlist.h"
|
||||||
|
|
||||||
|
enum {
|
||||||
|
CMD_QUIT, // 退出程序
|
||||||
|
CMD_QUERY, // 查书(数量)
|
||||||
|
CMD_BOOROW, // 借书
|
||||||
|
CMD_REPAID, // 还书
|
||||||
|
CMD_PRINT, // 打印书籍
|
||||||
|
CMD_INSERT, // 添加书籍
|
||||||
|
CMD_DELETE, // 删除书籍
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// 函数声明
|
||||||
|
void init(void); // 程序启动
|
||||||
|
void quit(void); // 程序退出
|
||||||
|
void display_menu(void); // 显示命令菜单
|
||||||
|
|
||||||
|
int make_choice(void); // 选择命令
|
||||||
|
int confirm(const char* msg); // 确认
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 主函数
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
init(); // 程序启动
|
||||||
|
|
||||||
|
InitList(books);
|
||||||
|
|
||||||
|
for(;;) {
|
||||||
|
display_menu(); //
|
||||||
|
int c = make_choice();
|
||||||
|
switch(c) {
|
||||||
|
case CMD_REPAID:// 还书
|
||||||
|
{repaid_book();
|
||||||
|
DoRepaidBook();
|
||||||
|
break;}
|
||||||
|
case CMD_BOOROW:// 借书
|
||||||
|
{boorow_book();
|
||||||
|
DoBoorowBook();
|
||||||
|
break;}
|
||||||
|
case CMD_PRINT:// 打印所有书籍
|
||||||
|
{print_book();
|
||||||
|
DoPrintBook();
|
||||||
|
break;}
|
||||||
|
case CMD_QUERY:// 查找书籍
|
||||||
|
{query_book();
|
||||||
|
DoFindBook();
|
||||||
|
break;}
|
||||||
|
case CMD_INSERT:// 添加书籍
|
||||||
|
{add_book();
|
||||||
|
DoAddBook();
|
||||||
|
break;}
|
||||||
|
case CMD_DELETE:// 删除书籍
|
||||||
|
{delete_book();
|
||||||
|
DoDeleteBook();
|
||||||
|
break;}
|
||||||
|
case CMD_QUIT:// 退出程序
|
||||||
|
{if (confirm("确定要退出吗?")) quit(); // 仅在确认后退出
|
||||||
|
break;}
|
||||||
|
default:
|
||||||
|
puts("命令错误,请重新选择");
|
||||||
|
break;}
|
||||||
|
}
|
||||||
|
quit(); // 程序退出
|
||||||
|
|
||||||
|
DestroyList(books);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void init(void)
|
||||||
|
{
|
||||||
|
puts("*******图书管理系统启动*******");
|
||||||
|
}
|
||||||
|
void quit(void)
|
||||||
|
{
|
||||||
|
puts("系统退出");
|
||||||
|
exit(EXIT_SUCCESS);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void display_menu(void)
|
||||||
|
{
|
||||||
|
cout << "————————————————————————————————————————————————————————————————"<<endl;
|
||||||
|
printf("| %d 查书 | %d 借书 | %d 还书 | %d 打印 | %d 添加 | %d 删除 | %d 退出 |\n",
|
||||||
|
CMD_QUERY,CMD_BOOROW,CMD_REPAID,CMD_PRINT,CMD_INSERT,CMD_DELETE,CMD_QUIT);
|
||||||
|
cout << "————————————————————————————————————————————————————————————————"<<endl;
|
||||||
|
}
|
||||||
|
int make_choice(void)
|
||||||
|
{
|
||||||
|
int c; // 用户输入
|
||||||
|
int n = 0; // 正确读入的数据项个数
|
||||||
|
while (n == 0) {
|
||||||
|
printf("请选择:");
|
||||||
|
n = scanf("%d", &c); // 尝试读入整数 c
|
||||||
|
scanf("%*[^\n]"); // 跳过一行中剩余的字符
|
||||||
|
}
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
int confirm(const char* msg)
|
||||||
|
{
|
||||||
|
char c = 'n'; // 默认选择是 no
|
||||||
|
printf("%s(Y/N): ", msg); // 提示输入 yes/no 进行确认
|
||||||
|
scanf(" %c%*[^\n]", &c); // 读取第一个字符,忽略剩余字符
|
||||||
|
return c == 'y' || c == 'Y'; // 返回确认结果
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in new issue