From 097b1d8f214148d814ae5d3adebcbf43c420c8bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=BD=A9=E6=9C=88?= Date: Sat, 22 Apr 2023 16:23:15 +0800 Subject: [PATCH 1/7] C7 --- .vscode/tasks.json | 28 ++++++++++++++++++++++++++++ README.md | 31 +++++++++++++++++++++++++++---- 2 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 .vscode/tasks.json diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..7e6453f --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,28 @@ +{ + "tasks": [ + { + "type": "cppbuild", + "label": "C/C++: g++.exe build active file", + "command": "D:\\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" +} \ No newline at end of file diff --git a/README.md b/README.md index d3c45a3..ef34cb4 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # 图书管理系统 - +2022年6月9日 +杨腾泽,孙英皓,李聪颖,刘彩月 ##项目简介 输入项目菜单 选择并执行项目菜单 @@ -11,8 +12,30 @@ 列表: --读数据 --保存数据 -第二次修改 +### C7:修改图书 +选择菜单命令: 7,提示修改和输入图书编号,输入图书编号,再次提示图书数量,输出你要在该图书编号下修改的图书数量,并提示完成;如果输入的图书编号不存在,则提示没有这样的书。 +````` +请选择:7 + +Revise Book + +Which book you wanna revise ? +1 +Original book number : 1 +Revised number :2 +********************** +Revise success +````` + + +`````` +请选择:7 + +Revise Book + +Which book you wanna revise ? +2 +No such book +`````` From 036f108c5c91ae5762e594736d5c66f63ad9c2a5 Mon Sep 17 00:00:00 2001 From: yangtengze Date: Sat, 22 Apr 2023 20:36:27 +0800 Subject: [PATCH 2/7] change --- README.md | 54 ++++++++++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index c89dce1..b9da172 100644 --- a/README.md +++ b/README.md @@ -25,33 +25,6 @@ 系统的功能性需求: - 数据的查书、借书、还书、打印书籍、添加、删除展示。 - - -### C7:修改图书 -选择菜单命令: 7,提示修改和输入图书编号,输入图书编号,再次提示图书数量,输出你要在该图书编号下修改的图书数量,并提示完成;如果输入的图书编号不存在,则提示没有这样的书。 -````` -请选择:7 - -Revise Book - -Which book you wanna revise ? -1 -Original book number : 1 -Revised number :2 -********************** -Revise success -````` - - -`````` -请选择:7 - -Revise Book - -Which book you wanna revise ? -2 -No such book -`````` 系统的非功能性需求: - 菜单驱动的命令行交互界面。 @@ -75,7 +48,7 @@ No such book ———————————————————————————————————————————— 请选择: ``` -#### C0: 退出程序 +### C0: 退出程序 选择菜单命令:0 再输入:y,确认,则退出程序。若输入:n,则继续程序。 ``` 请选择:0 @@ -136,3 +109,28 @@ Which book you wanna delelet? Enter book ID: 5 Not found ``` +### C7:修改图书 +选择菜单命令: 7,提示修改和输入图书编号,输入图书编号,再次提示图书数量,输出你要在该图书编号下修改的图书数量,并提示完成;如果输入的图书编号不存在,则提示没有这样的书。 +````` +请选择:7 + +Revise Book + +Which book you wanna revise ? +1 +Original book number : 1 +Revised number :2 +********************** +Revise success +````` + + +`````` +请选择:7 + +Revise Book + +Which book you wanna revise ? +2 +No such book +`````` \ No newline at end of file From d34940b573d49fd722565ac0fd4f64e12bb8c532 Mon Sep 17 00:00:00 2001 From: yangtengze Date: Sat, 22 Apr 2023 21:02:43 +0800 Subject: [PATCH 3/7] change --- README.md | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- data.h | 3 ++ 2 files changed, 99 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b9da172..4ea7f6a 100644 --- a/README.md +++ b/README.md @@ -133,4 +133,99 @@ Revise Book Which book you wanna revise ? 2 No such book -`````` \ No newline at end of file +`````` +# 概要设计 +系统主要分为用户界面和数据处理两大模块。 + +用户界面模块包括系统初始化(init),显示菜单(display_menu),选择菜单命令 +(make_choice)、确认(confirm)、退出(quit)等子模块。 +数据处理模块包括 添加图书( DoAddBook ) 、查找图书( DoFindBook ) 、删除图书( DoDeleteBook ) 、打印所有图书( DoPrintBook ) 、归还图书( DoRepaidBook ) 、借用图书 ( DoBoorowBook ) 、修改图书( DoReviseBook ) 、排序图书( DoSortBook )等子模块。 + +其中查询、添加、修改和删除数据还会用到根据编号查询数据的方法(find)。 +上述各模块通过主程序(main)进行调用,系统模块图如下。 +``` + + + + + + + + +``` +各模块的主要功能如下: +## main +系统主函数模块,显示菜单,根据用户选择的菜单命令,执行相关操作。 +## init +系统初始化。 +## display_menu +显示菜单命令。 +# 详细设计 +针对概要设计 +## main +``` +Step 1: 初始化 +Step 2: 根据用户选择的命令执行对应的操作 +Step 2.1: 显示菜单 +Step 2.2: 选择菜单命令 c +Step 2.3: if c == CMD_PRINT then 打印数据 +Step 2.4: +``` +``` + + + + + + + + + + + + + + + + + + +``` + + +## DoAddBook +``` +Step 1: if 数据库满 then 提示数据库满并结束 +Step 2: 输入图书编号 +Step 3: 输入图书名和书籍数量 +Step 4: 添加新书籍 +Step 5: 提示添加成功 +``` +``` + + + + + + + + + + + + + + + + + + + + + + + + + + +``` \ No newline at end of file diff --git a/data.h b/data.h index f05e2a5..9ae1c5b 100644 --- a/data.h +++ b/data.h @@ -82,8 +82,11 @@ bool bookempty() } // 添加图书 +template void DoAddBook() { + if (books.length == MAXSIZE) { + cout << "books full" << endl;exit(DoAddBook);} cout << endl << "Add Book"<< endl< Date: Sun, 23 Apr 2023 14:27:50 +0800 Subject: [PATCH 4/7] LIU --- README.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/README.md b/README.md index b9da172..55c8ae9 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,40 @@ 确定要退出吗?(Y/N): n 程序退出 ``` + +### C3:归还图书 +选择菜单命令:3 提示归还图书 和 你想要归还哪一本书?输入图书编号,若在系统中没有该图书,则添加图书并输入图书的编号,数量和数目,显示相关信息并归还成功,否则直接退出。 +````` +请选择:3 + +Repaid Book + +Which book you wanna repaid ? +2 + + +Add Book + +ID : 1 +TITLE : 1 +Number : 1 +Book + +**************** id: 1 **************** +**** title: 《 1 》**** +************** Number: 1 ************** +````` + + +````` +请选择:3 + +Repaid Book + +Which book you wanna repaid ? +1 +````` + ### C4:打印书籍 选择菜单命令:4 提示打印书籍并打印图书信息,若没有书,则输出Total: 0 books,若有书,则输出书籍信息 ``` @@ -82,6 +116,26 @@ Book Total: 1 books ``` + +### C5:添加图书 +选择菜单命令:5 提示添加图书,提示输入想添加的图书编号,标题和数目并输出Book,输出添加完后图书的相关信息和“Added”。 +``` +请选择:5 + +Add Book + +ID : 1 +TITLE : 4 +Number : 6 +Book + +**************** id: 1 **************** +**** title: 《 4 》**** +************** Number: 6 ************** + +*******Added******** +``` + ### C6:删除书籍 选择菜单命令:6 提示删除书籍、你想要删除哪本书籍?和请输入图书编号,则输入图书编号。若找到输出书籍的信息并提示Delele,若没找到则提示Not Found. ``` From e6f73d8a19cc7fb77d8761d54d3d254394731e3a Mon Sep 17 00:00:00 2001 From: yangtengze Date: Sun, 23 Apr 2023 21:33:44 +0800 Subject: [PATCH 5/7] change --- data.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data.h b/data.h index 9ae1c5b..bb0eb95 100644 --- a/data.h +++ b/data.h @@ -86,7 +86,7 @@ template void DoAddBook() { if (books.length == MAXSIZE) { - cout << "books full" << endl;exit(DoAddBook);} + cout << "books full" << endl;} cout << endl << "Add Book"<< endl< Date: Sun, 23 Apr 2023 21:39:50 +0800 Subject: [PATCH 6/7] 1 --- .vscode/tasks.json | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 .vscode/tasks.json diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index 7e6453f..0000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "tasks": [ - { - "type": "cppbuild", - "label": "C/C++: g++.exe build active file", - "command": "D:\\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" -} \ No newline at end of file From c5e0b57e6631e220f67e8cc1ff5923bdd844f84e Mon Sep 17 00:00:00 2001 From: yangtengze Date: Sun, 23 Apr 2023 21:40:11 +0800 Subject: [PATCH 7/7] 1 --- .vscode/tasks.json | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .vscode/tasks.json diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..ccfcfb2 --- /dev/null +++ b/.vscode/tasks.json @@ -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" +} \ No newline at end of file