diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..88884e8 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,28 @@ +{ + "tasks": [ + { + "type": "cppbuild", + "label": "C/C++: gcc.exe build active file", + "command": "C:\\mingw64\\mingw64\\bin\\gcc.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 baae73e..ce5c841 100644 --- a/README.md +++ b/README.md @@ -123,3 +123,173 @@ 商品的名称:电脑 商品的数量:20 ``` + + +#### C7: 修改库存记录 + +选择菜单命令 `6`,根据提示输入零件编号,若零件存在,则继续输入新的零件名和库存数量,并修改库存记录;否则,提示零件不存在并结束。 + +``` +请输入想要操作的选项*-*:6 +请输入需要修改的商品id:101 +原商品的数量:20 +请输入修改的商品数量:12 +商品数量修改成功 *_* + +1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加 +6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出 + +请输入想要操作的选项*-*:3 +商品的id:101 +商品的名称:电脑 +商品的数量:12 + +1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加 +6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出 + +请输入想要操作的选项*-*:6 +请输入需要修改的商品id:100 +您输入的商品名称没有找到!! + +``` + + + +#### C8: 删除库存记录 + +选择菜单命令 `7`,根据提示输入零件编号,若零件存在,则删除之;否则提示零件不存在并结束。 + +``` + +请输入想要操作的选项*-*:7 +请输入需要删除的商品id:100 +您输入的商品名称没有找到!! + +1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加 +6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出 + +请输入想要操作的选项*-*:7 +请输入需要删除的商品id:101 +商品 101 已被删除!! + +1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加 +6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出 + +请输入想要操作的选项*-*:3 +商品的id:101 +您的数据库内没有商品! + +``` + + + +#### C9: 库存记录排序 + +选择菜单命令 `8`,对库存记录按零件编号从小到大排序。 + +``` +请输入想要操作的选项*-*:3 +商品的id:101 +商品的名称:电脑 +商品的数量:20 + +1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加 +6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出 + +请输入想要操作的选项*-*:8 +排序 +排序已完成 + +1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加 +6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出 + +请输入想要操作的选项*-*:3 + +商品的id:101 +商品的名称:电脑 +商品的数量:20 +``` + +#### C10: 从文件中读取库存记录 + +选择菜单命令 `1`,提示输入文件名,若文件存在,则打开文件读取 CSV 格式保存的所有库存记录;否则,若文件不存在,则给出错误信息并结束。 + +假设文件 `a.csv` 中,以 CSV (Comma-Separated Values)格式保存了如下记录: + +``` +103,显示器,8 +104,手机,12 +101,电脑,20 +102,打印机,10 +``` + +则读取记录的过程如下: + +``` +请输入想要操作的选项*-*:1 +读取数据 +请输入文件名:data1.csv +数据库种有4种商品信息 +读取 4 记录 + +1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加 +6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出 + +请输入想要操作的选项*-*:3 +商品的id:103 +商品的名称:显示器 +商品的数量:8 + + +1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加 +6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出 + +请输入想要操作的选项*-*:1 +读取数据 +请输入文件名称:a +a:读取数据失败 +注意:您的数据库内没有商品信息 + +``` + + + +#### C11: 将库存保存保存到文件 + +选择菜单命令 `2`,提示输入文件名,将所有库存记录以 CSV 格式保存到指定的文件中。 + +``` +请输入想要操作的选项*-*:2 +请输入文件名:data2.csv +已经保存 1 种商品信息 + + +请输入想要操作的选项*-*:2 +您没有商品信息不用保存 + +请输入想要操作的选项*-*:2 +请输入文件名:data2.csv +文件打开失败 + +``` + + + +#### C12: 以图表方式显示库存记录 + +选择菜单命令 `9`,以图表方式显示库存记录。 + +``` +请输入想要操作的选项*-*:9 +ID | NAME Amount +您的数据库没有商品! + +请输入想要操作的选项*-*:9 +ID | NAME Amount +101 电脑 20 + +1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加 +6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出 + +``` + diff --git a/graph/a b/graph/a new file mode 100644 index 0000000..e69de29 diff --git a/graph/increase_count.drawio.svg b/graph/increase_count.drawio.svg new file mode 100644 index 0000000..2b61434 --- /dev/null +++ b/graph/increase_count.drawio.svg @@ -0,0 +1,120 @@ + + + + + + + +
+
+
+ 修改模块 +
+
+
+
+ + 修改模块 + +
+
+ + + + + +
+
+
+ 判断指针并返回信息 +
+
+
+
+ + 判断指针并返回信息 + +
+
+ + + + + +
+
+
+ 定义数组用于id比对 +
+
+
+
+ + 定义数组用于id比对 + +
+
+ + + + + +
+
+
+ 输入id进行比对 +
+
+
+
+ + 输入id进行比对 + +
+
+ + + + + + +
+
+
+ 若没有则返回信息 +
+
+
+
+ + 若没有则返回信息 + +
+
+ + + + +
+
+
+ 若有则通过链表修改信息 +
+
+
+
+ + 若有则通过链表修改信息 + +
+
+
+ + + + + Viewer does not support full SVG 1.1 + + + +
\ No newline at end of file diff --git a/graph/insert.drawio.svg b/graph/insert.drawio.svg new file mode 100644 index 0000000..3648733 --- /dev/null +++ b/graph/insert.drawio.svg @@ -0,0 +1,102 @@ + + + + + + + +
+
+
+ 添加模块 +
+
+
+
+ + 添加模块 + +
+
+ + + + +
+
+
+ 判断链表是否存在 +
+
+
+
+ + 判断链表是否存在 + +
+
+ + + + + + +
+
+
+ 不存在返回error +
+
+
+
+ + 不存在返回error + +
+
+ + + + + +
+
+
+ 存在则头插法输入数据 +
+
+
+
+ + 存在则头插法输入数据 + +
+
+ + + + + +
+
+
+ 输入结束返回ok +
+
+
+
+ + 输入结束返回ok + +
+
+
+ + + + + Viewer does not support full SVG 1.1 + + + +
\ No newline at end of file diff --git a/graph/main.drawio.svg b/graph/main.drawio.svg new file mode 100644 index 0000000..511f7f2 --- /dev/null +++ b/graph/main.drawio.svg @@ -0,0 +1,848 @@ + + + + + + + + + +
+
+
+ main +
+
+
+
+ + main + +
+
+ + + + + + + + +
+
+
+ init +
+
+
+
+ + init + +
+
+ + + + + + + +
+
+
+ display_menu +
+
+
+
+ + display_menu + +
+
+ + + + + + + +
+
+
+ c = make_choice +
+
+
+
+ + c = make_choice + +
+
+ + + + + +
+
+
+ Y +
+
+
+
+ + Y + +
+
+ + + + +
+
+
+ c == 1 +
+
+
+
+ + c == 1 + +
+
+ + + + + + + +
+
+
+ read_data +
+
+
+
+ + read_data + +
+
+ + + + + + + +
+
+
+ Y +
+
+
+
+ + Y + +
+
+ + + + +
+
+
+ c == 2 +
+
+
+
+ + c == 2 + +
+
+ + + + + + + +
+
+
+ savedata +
+
+
+
+ + savedata + +
+
+ + + + + + + +
+
+
+ Y +
+
+
+
+ + Y + +
+
+ + + + +
+
+
+ c == 3 +
+
+
+
+ + c == 3 + +
+
+ + + + + + + +
+
+
+
+ show_goods +
+
+
+
+
+ + show_goods + +
+
+ + + + + + + +
+
+
+ Y +
+
+
+
+ + Y + +
+
+ + + + +
+
+
+ c == 4 +
+
+
+
+ + c == 4 + +
+
+ + + + + + + +
+
+
+
+ + find_goods + +
+
+
+
+
+ + find_goods + +
+
+ + + + + + + +
+
+
+ Y +
+
+
+
+ + Y + +
+
+ + + + +
+
+
+ c == 5 +
+
+
+
+ + c == 5 + +
+
+ + + + + + + +
+
+
+
+ insert +
+
+
+
+
+ + insert + +
+
+ + + + + + + +
+
+
+ Y +
+
+
+
+ + Y + +
+
+ + + + +
+
+
+ c == 6 +
+
+
+
+ + c == 6 + +
+
+ + + + + + + +
+
+
+
+ increase_count +
+
+
+
+
+ + increase_count + +
+
+ + + + + + + +
+
+
+ Y +
+
+
+
+ + Y + +
+
+ + + + +
+
+
+ c == 7 +
+
+
+
+ + c == 7 + +
+
+ + + + + + + +
+
+
+
+ delete_from_list +
+
+
+
+
+ + delete_from_list + +
+
+ + + + + + + +
+
+
+ Y +
+
+
+
+ + Y + +
+
+ + + + +
+
+
+ c == 8 +
+
+
+
+ + c == 8 + +
+
+ + + + + + + +
+
+
+
+ sort +
+
+
+
+
+ + sort + +
+
+ + + + + + + + + + +
+
+
+ c == CMD_QUIT +
+
+
+
+ + c == CMD_QUIT + +
+
+ + + + + + + +
+
+
+ quit +
+
+
+
+ + quit + +
+
+ + + + + + + + +
+
+
+ 确定退出 +
+
+
+
+ + 确定退出 + +
+
+ + + + + + +
+
+
+ 命令错误,请重新选择 +
+
+
+
+ + 命令错误,请重新选择 + +
+
+ + + + +
+
+
+ N +
+
+
+
+ + N + +
+
+ + + + +
+
+
+ N +
+
+
+
+ + N + +
+
+ + + + +
+
+
+ N +
+
+
+
+ + N + +
+
+ + + + +
+
+
+ N +
+
+
+
+ + N + +
+
+ + + + +
+
+
+ N +
+
+
+
+ + N + +
+
+ + + + +
+
+
+ N +
+
+
+
+ + N + +
+
+ + + + +
+
+
+ N +
+
+
+
+ + N + +
+
+ + + + +
+
+
+ N +
+
+
+
+ + N + +
+
+ + + + +
+
+
+ N +
+
+
+
+ + N + +
+
+ + + + +
+
+
+ N +
+
+
+
+ + N + +
+
+ + + + +
+
+
+ Y +
+
+
+
+ + Y + +
+
+ + + + +
+
+
+ N +
+
+
+
+ + N + +
+
+
+ + + + + Viewer does not support full SVG 1.1 + + + +
\ No newline at end of file diff --git a/graph/readData.drawio.svg b/graph/readData.drawio.svg new file mode 100644 index 0000000..b6de3dd --- /dev/null +++ b/graph/readData.drawio.svg @@ -0,0 +1,102 @@ + + + + + + + +
+
+
+ 读取文件 +
+
+
+
+ + 读取文件 + +
+
+ + + + + +
+
+
+ 判断头指针 +
+
+
+
+ + 判断头指针 + +
+
+ + + + + +
+
+
+ 为空返回error +
+
+
+
+ + 为空返回error + +
+
+ + + + + +
+
+
+ 不为空文件指针指向文件 并打开 +
+
+
+
+ + 不为空文件指针指向文件 并打开 + +
+
+ + + + + +
+
+
+ 若文件内没有数据返回无信息 +
+
+
+
+ + 若文件内没有数据返回无信息 + +
+
+
+ + + + + Viewer does not support full SVG 1.1 + + + +
\ No newline at end of file diff --git a/graph/saveData.drawio.svg b/graph/saveData.drawio.svg new file mode 100644 index 0000000..0af3f30 --- /dev/null +++ b/graph/saveData.drawio.svg @@ -0,0 +1,152 @@ + + + + + + + + + +
+
+
+ save_data +
+
+
+
+ + save_data + +
+
+ + + + + + +
+
+
+ 输入文件名 +
+
+
+
+ + 输入文件名 + +
+
+ + + + + + +
+
+
+ 打开文件 +
+
+
+
+ + 打开文件 + +
+
+ + + + + + + + +
+
+
+ 打开文件成功? +
+
+
+
+ + 打开文件成功? + +
+
+ + + + + + +
+
+
+ 把所有库存记录 +
+ 写入文件 +
+
+
+
+ + 把所有库存记录 +写入文件 + +
+
+ + + + + + +
+
+
+ 关闭文件 +
+
+
+
+ + 关闭文件 + +
+
+ + + + + + + +
+
+
+ 提示打开文件失败 +
+
+
+
+ + 提示打开文件失败 + +
+
+
+ + + + + Viewer does not support full SVG 1.1 + + + +
\ No newline at end of file diff --git a/graph/save_data.drawio.svg b/graph/save_data.drawio.svg new file mode 100644 index 0000000..e69de29