杨腾泽
yangtengze 2 years ago
parent 7fa09e96eb
commit 70d3bb5147

@ -0,0 +1,7 @@
{
"files.associations": {
"iostream": "cpp",
"ostream": "cpp",
"stdexcept": "cpp"
}
}

28
.vscode/tasks.json vendored

@ -0,0 +1,28 @@
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe build active file",
"command": "C:\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}

112
data.h

@ -5,15 +5,19 @@
#include "sqlist.h" #include "sqlist.h"
// 函数声明 struct Book {
int id; // 编号
string title; // 标题
int number; // 数量
};
void print_book(void); // 打印 SqList <Book> books;
void query_book(void); // 查询
void add_book(void); // 添加
void delete_book(void); // 删除
void boorow_book(void); // 借书
void repaid_book(void); // 还书
// 函数声明
bool bookempty(); // 书籍库判空
void input(Book& b); // 输入一本书的信息
void print(const Book& b);// 打印一本书的信息
int find(int id); // 根据 id 查找图书 || 若找到,返回元素的位序,找不到时返回 0
void DoAddBook(); // 添加图书 void DoAddBook(); // 添加图书
void DoFindBook(); // 查找图书 void DoFindBook(); // 查找图书
@ -21,54 +25,11 @@ void DoDeleteBook(); // 删除图书
void DoPrintBook(); // 打印所有图书 void DoPrintBook(); // 打印所有图书
void DoRepaidBook(); // 归还图书 void DoRepaidBook(); // 归还图书
void DoBoorowBook(); // 借用图书 void DoBoorowBook(); // 借用图书
void DoReviseBook(); // 修改图书
void DoSortBook(); // 排序图书
// 输入一本书的信息
void repaid_book(void) // 还书
{
printf("还书\n");
DoRepaidBook();
}
void boorow_book(void) // 借书
{
printf("借书\n");
DoBoorowBook();
}
void query_book(void) // 查询
{
printf("查书\n");
DoFindBook();
}
void print_book(void) // 打印
{
printf("打印\n");
DoPrintBook();
}
void add_book(void) // 添加
{
puts("添加");
DoAddBook();
}
void delete_book(void) // 删除
{
puts("删除");
DoDeleteBook();
}
struct Book {
int id; // 编号
string title; // 标题
int number; // 数量
};
SqList <Book> books;
// 输入一本书的信息
void input(Book& b) void input(Book& b)
{ {
cout << "ID : "; cout << "ID : ";
@ -108,10 +69,22 @@ int find(int id)
return 0; // not found return 0; // not found
} }
// 书籍库判空
bool bookempty()
{
int a=0;
for (int i=1;i<=books.length;i++)
{
if (find(i)==0) a++;
}
if (a==books.length) return true;
else return false;
}
// 添加图书 // 添加图书
void DoAddBook() void DoAddBook()
{ {
cout << endl << "Add Book"<< endl<<endl;
Book book; Book book;
input(book); //输入图书 input(book); //输入图书
books.elem[books.length + 1] = book; books.elem[books.length + 1] = book;
@ -123,6 +96,7 @@ void DoAddBook()
// 查找图书 // 查找图书
void DoFindBook() void DoFindBook()
{ {
cout << endl << "Find Book" << endl <<endl;
int id; int id;
cout << "Enter book ID: "; cout << "Enter book ID: ";
cin >> id; cin >> id;
@ -142,6 +116,7 @@ void DoFindBook()
// 删除图书 // 删除图书
void DoDeleteBook() void DoDeleteBook()
{ {
cout << endl << "Delete Book" << endl << endl;
int id; int id;
cout << "Which book you wanna delelet?"<<endl; cout << "Which book you wanna delelet?"<<endl;
cout << "Enter book ID: "; cout << "Enter book ID: ";
@ -166,6 +141,7 @@ void DoDeleteBook()
// 打印所有图书 // 打印所有图书
void DoPrintBook() void DoPrintBook()
{ {
cout << endl << "Print All Books" << endl <<endl;
int flag = 0; int flag = 0;
for (int i = 0; i < books.length; i++) for (int i = 0; i < books.length; i++)
{ {
@ -182,6 +158,7 @@ void DoPrintBook()
// 归还图书 // 归还图书
void DoRepaidBook() void DoRepaidBook()
{ {
cout << endl << "Repaid Book" << endl<<endl;
int id; int id;
cout << "Which book you wanna repaid ? " << endl; cout << "Which book you wanna repaid ? " << endl;
cin >> id; cin >> id;
@ -198,6 +175,7 @@ void DoRepaidBook()
// 借用图书 // 借用图书
void DoBoorowBook() void DoBoorowBook()
{ {
cout << endl << "Boorow Book" << endl <<endl;
int id; int id;
cout << "Which book you wanna boorow ? " << endl; cout << "Which book you wanna boorow ? " << endl;
cin >> id; cin >> id;
@ -210,9 +188,35 @@ void DoBoorowBook()
--books.elem[find(id)].number; --books.elem[find(id)].number;
}else cout << "***************************"<< endl }else cout << "***************************"<< endl
<< "Book empty" << endl << "***************************" << endl; << "Book empty" << endl << "***************************" << endl;
}else throw "NOT FOUND THIS BOOK"; }else cout<< "NOT FOUND THIS BOOK"<<endl;
} }
// 修改图书
void DoReviseBook()
{
cout <<endl<< "Revise Book" <<endl <<endl;
int id;
printf( "Which book you wanna revise ?\n" );
cin >> id;
if ( find(id)!=0 ) {
printf ( "Original book number : %d\n", books.elem[id].number );
printf ( "Revised number :" );
int xiugai;
scanf ( "%d", &xiugai );
books.elem[id].number+=xiugai;
cout << "**********************" << endl;
printf ( "Revise success \n" );
}
else printf ( "No such book\n");
}
// 排序图书
void DoSortBook()
{
cout << endl << "Sort Books" << endl << endl;
int a=0;
if (bookempty()) cout << "Book data empty"<< endl;
}
#endif // DATA_H_INCLUDED #endif // DATA_H_INCLUDED

@ -10,11 +10,13 @@
enum { enum {
CMD_QUIT, // 退出程序 CMD_QUIT, // 退出程序
CMD_QUERY, // 查书(数量) CMD_QUERY, // 查书(数量)
CMD_BOOROW, // 借 CMD_BOOROW, // 借
CMD_REPAID, // 还书 CMD_REPAID, // 还书
CMD_PRINT, // 打印书籍 CMD_PRINT, // 打印书籍
CMD_INSERT, // 添加书籍 CMD_INSERT, // 添加书籍
CMD_DELETE, // 删除书籍 CMD_DELETE, // 删除书籍
CMD_UPDATE, // 修改书籍
CMD_SORT, // 排序书籍
}; };
@ -40,22 +42,28 @@
int c = make_choice(); int c = make_choice();
switch(c) { switch(c) {
case CMD_REPAID:// 还书 case CMD_REPAID:// 还书
{repaid_book(); {DoRepaidBook();
break;} break;}
case CMD_BOOROW:// 借书 case CMD_BOOROW:// 借书
{boorow_book(); {DoBoorowBook();
break;} break;}
case CMD_PRINT:// 打印所有书籍 case CMD_PRINT:// 打印所有书籍
{print_book(); {DoPrintBook();
break;} break;}
case CMD_QUERY:// 查找书籍 case CMD_QUERY:// 查找书籍
{query_book(); {DoFindBook();
break;} break;}
case CMD_INSERT:// 添加书籍 case CMD_INSERT:// 添加书籍
{add_book(); {DoAddBook();
break;} break;}
case CMD_DELETE:// 删除书籍 case CMD_DELETE:// 删除书籍
{delete_book(); {DoDeleteBook();
break;}
case CMD_UPDATE:// 修改书籍
{DoReviseBook();
break;}
case CMD_SORT: // 排序书籍
{DoSortBook();
break;} break;}
case CMD_QUIT:// 退出程序 case CMD_QUIT:// 退出程序
{if (confirm("确定要退出吗?")) quit(); // 仅在确认后退出 {if (confirm("确定要退出吗?")) quit(); // 仅在确认后退出
@ -90,8 +98,8 @@
void display_menu(void) void display_menu(void)
{ {
cout << "————————————————————————————————————————————————————————————————"<<endl; cout << "————————————————————————————————————————————————————————————————"<<endl;
printf("| %d 查书 | %d 借书 | %d 还书 | %d 打印 | %d 添加 | %d 删除 | %d 退出 |\n", printf("| %d 查书 | %d 借书 | %d 还书 | %d 打印 | %d 添加 |\n| %d 删除 | %d 修改 | %d 排序 | %d 退出 |\n",
CMD_QUERY,CMD_BOOROW,CMD_REPAID,CMD_PRINT,CMD_INSERT,CMD_DELETE,CMD_QUIT); CMD_QUERY,CMD_BOOROW,CMD_REPAID,CMD_PRINT,CMD_INSERT,CMD_DELETE,CMD_UPDATE,CMD_SORT,CMD_QUIT);
cout << "————————————————————————————————————————————————————————————————"<<endl; cout << "————————————————————————————————————————————————————————————————"<<endl;
} }
int make_choice(void) int make_choice(void)

Loading…
Cancel
Save