Compare commits

..

No commits in common. 'master' and '李聪颖' have entirely different histories.

@ -8,27 +8,26 @@
本系统是程序设计与问题求解课程设计项目,实现了库存零件 CSV 格式数据文件的读取和保存以及数据的增删改查CRUD、排序和图表显示等功能。项目采用 C 语言编程实现,在 VS Code 集成开发环境IDE中用 GCC 进行编译。系统采用模块化设计,程序结构清晰,采用菜单驱动的命令行界面,操作便捷,能够用 CSV 格式读取和保存数据,通用性强,能够用图表展示数据,直观清楚。
下载地址https://bdgit.educoder.net/pkcs2aq9m/teamworks.git
下载地址https://gitee.com/sjandsy/parts-management.git
项目开发过程中采用 Kanban看板进行任务管理和分工协作并使用 Git 对程序代码和文档进行版本管理。任务分工情况如下:
| 任务 | 设计 | 开发 | 测试 | 文档 |
| ---- | ---- | ---- | ---- | ---- |
| C1-C3 菜单驱动的用户界面 | 孙英皓 | 杨腾泽 | 刘彩月 | 孙英皓 |
|C4 添加库存记录 | 李聪颖 | 李聪颖 | 杨腾泽 孙英皓 |李聪颖 |
|C5 查询库存记录 | 李聪颖 | 李聪颖 | 杨腾泽 孙英皓 | 李聪颖 |
|C6 打印库存列表 | 李聪颖 | 李聪颖 | 杨腾泽 孙英皓 | 李聪颖 |
|C7 修改库存记录 | 刘彩月 | 刘彩月 | 李聪颖 杨腾泽 | 刘彩月 |
|C8 删除库存记录 | 刘彩月 | 刘彩月 | 李聪颖 杨腾泽 | 刘彩月 |
|C9 库存记录排序 | 刘彩月 | 刘彩月 | 李聪颖 杨腾泽 | 刘彩月 |
|C10 读取库存文件 | 杨腾泽 | 杨腾泽 | 李聪颖 刘彩月 | 杨腾泽 |
|C11 将库存保存到文件 | 杨腾泽 | 杨腾泽 | 孙英皓 刘彩月 | 杨腾泽 |
| C1-C3 菜单驱动的用户界面 | | | | |
|C4 添加库存记录 | | | | |
|C5 查询库存记录 | | | | |
|C6 打印库存列表 | | | | |
|C7 修改库存记录 | | | | |
|C8 删除库存记录 | | | | |
|C9 库存记录排序 | | | | |
|C10 读取库存文件 | | | | |
|C11 将库存保存到文件 | | | | |
每个成员的工作量(百分比):
| 杨腾泽 | 孙英皓 | 刘彩月 | 李聪颖 |
| | | | |
|--------|-------|---------|-------|
| 25 | 25 | 25 | 25 |
| | | | |
## 关于零件库存管理系统
@ -294,35 +293,25 @@ ID | NAME Amount
```
## 概要设计
系统主要分为用户界面和数据处理两大模块。
用户界面模块包括系统初始化init显示菜单menu选择菜单命令menu1、确认confirm、退出exit等子模块。
数据处理模块包括读取数据read_data、保存数据saveData、打印数据show_goods、查询数据find_goods、添加数据insert、更新数据increase_count、删除数据delete_from_list、数据排序sort和图表Show等子模块。其中查询、添加、更新和删除数据还会用到根据编号查询数据的方法find
上述各模块通过主程序main进行调用系统模块图如下。
![系统模块图](images/main.drawio.svg)
各模块的主要功能如下:
#### main
系统主函数模块,显示菜单,根据用户选择的菜单命令,执行相关操作。
#### init
系统初始化。
#### display_menu
#### sort
Step1 : 输入需要排序的商品编号
Step2 : 进行排序
Step3 : 排序完成
![排序模块流程图](images/sort.drawio.svg)
显示菜单命令。
#### delete_from_list
Step1: if数据库为空则返回“数据库数据为空请先添加商品信息”
Step2: 输入需要删除的商品id
Step3: 删除商品并显示删除成功
Step4: if输入的商品id不存在则返回“您输入的商品名称没有找到
![删除数据流程图](images/delete_from_list.drawio.svg)
## 详细设计
#### Show
Step1if没有商品数据则显示“您的数据库内没有商品
step2: 输入商品编号打印表格
针对概要设计
![图表模块流程图](images/Show.drawio.svg)
#### main
Step 1: 初始化
@ -334,7 +323,8 @@ Step 2.4: if c == CMD_SAVE then 保存数据
Step 2.5: if c == CMD_PRINT then 打印数据
Step 2.6:
![主程序流程图](graph/main.drawio.svg)
![主程序流程图](images/main.drawio.svg)
#### savedata
@ -345,74 +335,5 @@ Step 3: if 打开文件失败 then 提示打开文件失败并结束
Step 4: 将所有库存记录写入文件
Step 5: 关闭文件
![保存数据流程图](graph/saveData.drawio.svg)
#### insert
Step 1: if 数据库满 then 提示数据库满并结束
Step 2: 输入零件编号
Step 3: if 零件已存在 then 提示零件已存在并结束
Step 4: 输入零件名和库存数量
Step 5: 添加新零件到数据
Step 6: 提示添加成功
![添加库存记录流程图](graph/insert.drawio.svg)
#### show_goods
Step 1: 创建表格边框
Step 2: 如果没有商品
Step 3: 提示“数据库内没有商品”
Step 4: 输入编号
Step 5: 打印商品
![打印数据流程图](graph/show_goods.drawio.svg)
#### readData
Step 1: if数据库空则返回“读取数据失败”
Step 2: if没有商品则返回“注意您的数据库内没有商品信息”
Step 3: 输入文件名称
Step 4: 输出数据库里的商品信息
![读取数据流程图](graph/readData.drawio.svg)
#### find_goods
Step1: if数据库为空则返回“数据库数据为空请先添加商品信息”
Step2: 输入需要查找的商品ID
Step3: 输出商品信息
Step4: if输入的商品信息不存在则返回 "输入的商品信息无效!!!”
![查询数据流程图](graph/find_goods.drawio.svg)
#### increase_count
Step1: if数据库为空则返回“数据库数据为空请先添加商品信息”
Step2: 输入需要修改的商品ID
Step3: 修改信息并显示修改成功
Step4: if没有需要修改的商品则返回
![修改模块流程图](graph/increase_count.drawio.svg)
#### sort
Step1 : 输入需要排序的商品编号
Step2 : 进行排序
Step3 : 排序完成
![排序模块流程图](graph/sort.drawio.svg)
#### delete_from_list
Step1: if数据库为空则返回“数据库数据为空请先添加商品信息”
Step2: 输入需要删除的商品id
Step3: 删除商品并显示删除成功
Step4: if输入的商品id不存在则返回“您输入的商品名称没有找到
![删除数据流程图](graph/delete_from_list.drawio.svg)
#### Show
Step1if没有商品数据则显示“您的数据库内没有商品
step2: 输入商品编号打印表格
![图表模块流程图](graph/Show.drawio.svg)
![保存数据流程图](images/saveData.drawio.svg)

@ -1,93 +1,93 @@
<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="321px" height="466px" viewBox="-0.5 -0.5 321 466" content="&lt;mxfile&gt;&lt;diagram id=&quot;-XFupFh_2-8t2MVtY42_&quot; name=&quot;第 1 页&quot;&gt;zVjJbtswEP0aHlNoF3mUbDm9FAjgQ5ujarGWANk0aDq2+/UdbtbqJYmbBAgQznA4FN+8eZSM/Mnq8MjzTfmDFbRGnlMckD9FnudGgQ//pOeoPYEXaMeSV4UJahzz6i81Tsd4d1VBt51AwVgtqk3XuWDrNV2Iji/nnO27YX9Y3d11ky/pwDFf5PXQ+7MqRKm92Isb/3daLUu7sxsRPbPKbbA5ybbMC7ZvufwM+RPOmNCj1WFCawmexUWvm52ZPT0Yp2txywJTiJe83pmzmecSR3tYui4SiRlYa7YGZ1qKVQ2WC8PhfuYRaNGB0Oz+SNmKCn6EgH0DXGjAKFuYWR+ndS6qly7wuanf8pTutMMTq+BJPMdwDZs0hmhe7HQzbNmOL6hZ1Mbpch6X9PKInC+pGOSBQevQjUtVYbwi4TsrAoXgx19gON9Caz6356bySM7JOlrrUAm9LAixsZ+V7UaxsZul0mivfKK8gkNSbnxneaEB167oS1El7JY4cO9DFT+8jSpQ0fzYCtvIgO3NzLaP2xBPJ3wrDaMhDbMQJRkiCcoClBKECcoiREKUOiiLUZoiHKAMo3SGSCoHiYvwBPJBVAK+QCWYyaV9QnO2Wxe0MCzdl5Wg802uaLKHG+RGyXmhXNDDRSaZWe9MqVtEc70RpkW9UrZJ1Wn5C8DGd+vvdne3mv1Mf5+FTfPxS3WkqUvov7EFo1598Z1b0OYN7ttzeMgEKMTcmCNUMJLtduQ6vCjWrxHmNjNsi1ylxjtV2O3JcBj8H/l0+xwJei9KV+LD8Ep83Iv378sVMqLPIMsY4anS2SkiWA7IBCVqgDEixOqz0mJQaZKhjEhTT4E6w5/MM5PqDcKNXen5bL1+6F12oX1L+gjBtszvX4XnEIabMUY4UZcjIJk11x4M0kSBr65L4ssB9uwUQWmkVqUoDdQgau7WdvBnl8P1PrMc3mg5APzEUWQmKFHoJeoNRBYIKhUPpbWu4XOR3grYAJ0RDG993zhhcw2v/r31JrxGPvEMXpZkQGUJnK/IqlDThDaMHErGdYEo2er3bvsh4D700D2xrIWu54yg6zqvhxfM5uNcy3bzE4ef/QM=&lt;/diagram&gt;&lt;/mxfile&gt;">
<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="301px" height="476px" viewBox="-0.5 -0.5 301 476" content="&lt;mxfile&gt;&lt;diagram id=&quot;-XFupFh_2-8t2MVtY42_&quot; name=&quot;第 1 页&quot;&gt;zVdNj5swEP01Pm7FhyH2ERJ2e6m0Ug7tHmlwAxLBkeNsQn99x8YOn5FotptUWmmZ57Fh3swbT5C/3J1fRLrPv/GMlchzsjPyV8jz3BD78E8hdYNgDzfAVhSZcWqBdfGbGdAx6LHI2KHnKDkvZbHvgxteVWwje1gqBD/13X7xsv/WfbplI2C9Scsx+r3IZN6gxFu0+FdWbHP7Zjekzcoutc4mkkOeZvzUgfwE+UvBuWyeduclKxV5lpdm3/OV1cuHCVbJORu8ZsN7Wh5NbCgJECEoclBCEaUowigJUQSIq5boClET5kHWlhCR893PI7Aan/JCsvU+3aiVE6QfsFzuSrBceBx/n/nkdyYkO3cg870vjO+YFDW4mNUnWwW1ZdfYpzYVLjFY3kmDxVKT/e3l6JYgeDAcTfPlj/kacsGqLFI1BlbFKzYzfpmKLZO9pLCsV4VjQjoBBxPxWkywMpXFe792p0gwb3jlBXzchW/Sp9tbDGg88KPYMLOpW2qDc1xvcJA3OKihYHSQTskl6llZwlerWhczhXpe6fL2UZygRNc2VDj4xBTFoULiZ0SxLvgYUfDBClESCBEB5+eHSsALplPSVYD7SQoIPqgAiFrUP8BwvgTWfOuurVSQzsWqrXUuZLMNB8TYb9p2w4Wx263K6O58ZaKAUJkw2Cwd4kkdQqi64hsofKQ0g76isHurNJ3+QX74adIMJ6UZJYhGWmQUEao1ClqEK2iB4hgRbBUZG7GSJZynriWrUniI6ViT/FhlLDPVdXdd4qmbyZsohyHdt+hy8SBdzlJS+F/daIMBIvBvlE04kN+wvf471ZBxLoHKtTH/YswYta6J9tZNnOtMJ+qjGRh0rgDPow7KN607bnvlcLj+Hs+Zfk+biebEW/NCJ7oZNDGCyEp3JRiW9VhBl2a+gBkEZuqJ+YIqs1mCXgZ/MyaOO3e3p2HSbLu7R3uzmh1eHNcYhntkgUikrxKspzx7SagpL9Lk68sFZkB4IJ5dagbAUOUlttPi5SbqOj86Ha5/v3SA2f4mbXTS/rL3kz8=&lt;/diagram&gt;&lt;/mxfile&gt;">
<defs/>
<g>
<path d="M 160 150 L 160 70" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 154.96 300.02 L 157.48 295.01 Q 160 290 160 280 L 160 230" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<rect x="100" y="290" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<path d="M 130 0 L 220 40 L 130 80 L 40 40 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 320px; margin-left: 101px;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 178px; height: 1px; padding-top: 40px; margin-left: 41px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
定义数组进行id比对
删除模块
</div>
</div>
</div>
</foreignObject>
<text x="160" y="324" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
定义数组进行id比对
<text x="130" y="44" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
删除模块
</text>
</switch>
</g>
<path d="M 80 410 L 80 330 Q 80 320 90 320 L 100 320" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 220 320 L 230 320 Q 240 320 240 330 L 240 420 Q 240 430 244.47 421.06 L 247.24 415.53 Q 250 410 250.18 410.46 L 250.37 410.91" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 248.42 406.04 L 254.26 411.24 L 250.37 410.91 L 247.77 413.84 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<rect x="0" y="405" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<path d="M 130 160 L 130 80" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 130 160 L 185 200 L 130 240 L 75 200 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 435px; margin-left: 1px;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 200px; margin-left: 76px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
不存在则返回错误信息
判断链表并返回信息
</div>
</div>
</div>
</foreignObject>
<text x="60" y="439" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
不存在则返回错误信息
<text x="130" y="204" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
判断链表并返回信息
</text>
</switch>
</g>
<rect x="200" y="405" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<path d="M 129.96 310.02 L 130 240" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<rect x="75" y="300" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 435px; margin-left: 201px;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 330px; margin-left: 76px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
存在则释放对应结点并更新结点
定义数组进行id比对
</div>
</div>
</div>
</foreignObject>
<text x="260" y="439" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
存在则释放对应结点并更新结点
<text x="135" y="334" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
定义数组进行id比对
</text>
</switch>
</g>
<ellipse cx="160" cy="40" rx="60" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<path d="M 60 420 L 135 360" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 169.5 360 L 242.45 423.44 Q 250 430 253.23 425.15 L 256.47 420.3" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 259.38 415.93 L 258.41 423.7 L 256.47 420.3 L 252.58 419.81 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<rect x="0" y="415" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 40px; margin-left: 101px;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 445px; margin-left: 1px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
删除模块
不存在则返回错误信息
</div>
</div>
</div>
</foreignObject>
<text x="160" y="44" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
删除模块
<text x="60" y="449" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
不存在则返回错误信息
</text>
</switch>
</g>
<path d="M 160 140 L 260 190 L 160 240 L 60 190 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<rect x="180" y="415" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 190px; margin-left: 61px;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 445px; margin-left: 181px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
判断链表并返回信息
存在则释放对应结点并更新结点
</div>
</div>
</div>
</foreignObject>
<text x="160" y="194" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
判断链表并返回信息
<text x="240" y="449" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
存在则释放对应结点并更新结点
</text>
</switch>
</g>

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

@ -1,38 +1,38 @@
<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="121px" height="231px" viewBox="-0.5 -0.5 121 231" content="&lt;mxfile&gt;&lt;diagram id=&quot;fPKIzau6LSH738rFNKAg&quot; name=&quot;第 1 页&quot;&gt;lVTLjqMwEPyavoN5BB8hIZnLSCPlsGcL9wKSwZHjhGS+fu1gAgyZiL2gdvXLXdUYgm1zOyh2qj4lRwHE4zcIdkBI4sfma4F7D4Qk7IFS1byH/BE41t/oQM+hl5rjeRaopRS6Ps3BQrYtFnqGMaVkNw/7K8W864mVuACOBRNL9E/NdeXGIpsR/8C6rIbOfkx7T8OGYDfJuWJcdhMoyCHYKil1bzW3LQrL3cBLn7f/xfu8mMJWr0kI+oQrExc3m7uXvg/DYstTy5k5tbI1YFbpRpiTb8xlP3cF5DMKXfcDyga1upuAbiQucmRUE84GTKFgur7OiWdOv/JZ7tnhS9bmJsQbVs2VcYsWxN68wlleVIEuacrT+zrkZx3NVIl6UccYk6FH6KHCa0XCpSJ5ApkHSQD5BmgIaQJ5CNke6A7yCNId0MQayQYyg8RAIxtvkIxCFlskoUCDR8zu4aJgBkq8ISt1BVP/EexDul+sgZKXliN3undVrfF4YoX1duYnX7kWV1Qab28Xw3nJL8pN9sYnLxbnpzLTHZnJ8kaD6IUGS8piq4SlLLJK0M3yzxHCvEi4lq4FNy8YXEuXT1fSlfw/XeY4PlD9ho+vfJD/Aw==&lt;/diagram&gt;&lt;/mxfile&gt;">
<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="141px" height="241px" viewBox="-0.5 -0.5 141 241" content="&lt;mxfile&gt;&lt;diagram id=&quot;fPKIzau6LSH738rFNKAg&quot; name=&quot;第 1 页&quot;&gt;tVTBjqMwDP0a3xtCKRyhpTOXkUbqYc9Z4gUkIFUaCt2v36SEQoCRelmpqpIXx7Hfewbose4/JLsWX4JjBd6O90BP4HkhCfS/AR4D4Hv+AOSy5ANEJuBS/kUL7izalhxvTqASolLl1QUz0TSYKQdjUorODfsjKvfVK8txBVwyVq3RXyVXhW3LO0z4J5Z5Mb5Mgmg4qdkYbDu5FYyLbgbRFOhRCqGGVd0fsTLcjbwM984/nL4Kk9iody54w4U7q1rbG6QRhDvzS/cQHiCJIQ0gDiEmBolOENk2b+oxEiILUf9uNatJV5QKL1eWmZNOq6+xQtWV3hG9XNdnS76jVNjPIFvvB4oalXzokN41gfUOCe2+m5QgvsWKmQpjHLPi56/MEz96YSnapouu6VpSgQ2PjcX0rhENvtm+YjJH5WiC3DHhmo9Zw/uNfkdMYsVUeXetu0WCfeFblLq4F92hSzcNFjTeRCsztJfmTlvkIXSRiCwSDRSsEj0leXX9lkr+hqlDSLSpKaQHiHxj59SH5GzsrE0da1OHo99Pxu/R3sRrJIkgCQwSRhDRZ8zpebSekmdCMyU6mEB8Xk+JaBuO3Hrh/0+K94N080nxNpyzlPiNSdHb6aM1SDZ9+Wn6Dw==&lt;/diagram&gt;&lt;/mxfile&gt;">
<defs/>
<g>
<path d="M 60 170 L 60 70" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<rect x="0" y="170" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<path d="M 70 0 L 140 40 L 70 80 L 0 40 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 200px; margin-left: 1px;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 40px; margin-left: 1px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
调用保存函数并打印退出信息
退出模块
</div>
</div>
</div>
</foreignObject>
<text x="60" y="204" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
调用保存函数并打印退出信息
<text x="70" y="44" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
退出模块
</text>
</switch>
</g>
<ellipse cx="60" cy="40" rx="60" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<path d="M 70 180 L 70 80" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<rect x="10" y="180" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 40px; margin-left: 1px;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 210px; margin-left: 11px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
退出模块
调用保存函数并打印退出信息
</div>
</div>
</div>
</foreignObject>
<text x="60" y="44" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
退出模块
<text x="70" y="214" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
调用保存函数并打印退出信息
</text>
</switch>
</g>

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

@ -1,92 +1,92 @@
<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="301px" height="446px" viewBox="-0.5 -0.5 301 446" content="&lt;mxfile&gt;&lt;diagram id=&quot;2D1wWDd2h5TJuRrKpX-K&quot; name=&quot;第 1 页&quot;&gt;3VjLjtsgFP0allMZvwJLO3Gmm0ojZdHO0o1pbMkxESGvfn0vBr/tTGaUeajSSAOHC76cc+DaQc58e34U8S79wROWI9tKzshZINvGvuvAP4VcNOLargY2IktMUAOssr/MgJZBD1nC9p1AyXkus10XXPOiYGvZwWIh+Kkb9ofn3afu4g0bAKt1nA/Rn1kiU40Se9bg31m2SasnY5/qkW1cBZud7NM44acW5ETImQvOpW5tz3OWK/IqXvS85cRonZhghbxlghHiGOcHszeTl7xUm2VFEijOoFfwAsAwldscehia8Bhx+QUd65tXdZ/bYwslulX3LqY3zNOkzpIO9SbrR8a3DOZDwKkh3DMkpi2uK0ywPJbZsStYbHTf1MvVT3jiGWRiW8ajxCxjDGrPrO4Ke34Qa2Ymtfm9vg6mvXVkLDZMDtaBRmvTDVSqN66k90lKsnMmzTTimP5za6yZpjrtWU9MZLBBJl7yhCZbQ/6XsonfldfF97GJ47ybTfyhTSIPEYJoqBphiMIART6i0LZQNFMIcVFEULgsYwgKMCJzWA+iAsBcNQ8aIR0YTvBDkbDEuOiUZpKtdnEp5QkqQ9eAk/IfmZDsfFXtanRCjpYZsD3iBt+aFr7D9RViZ3c7f+3T1zqMr71JtWe+4qlxujJ5fbe/8dS45LZTAxrEl1bYTgXsp9N9wOP5TqXVj3fdTjw0dAZvPcLkXk7D/73TsHsnq+HeTe9Z7+M17L3Oa/34e3uNjpQLgkiIAg9FLgqhvSjv/wWiRDXoHAWkKim0qhtljYDqQSMUUdXVQ1A14E+ts1RVBQoKwQr57Dry0Fe7erv6iEJS3R69Ej3JMPDpoDAylVkNDTmfIUJRQEvEUSR/Pc5rPj+FczzCObwELUuf+4o9xbCv6FWkAY0gx2x47+Y5fIOyWwkbsDPC4SRhPb7qq+4lvvpV8k18jXw3akcGbkmcr/w6Yk1fmVideWDQQoE/7mx4lQz9MR+/7NqUb38f9h8iwENPgdqJLQVsa0QB3P9MuEEC6Da/CuiLvPltxYn+AQ==&lt;/diagram&gt;&lt;/mxfile&gt;">
<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="301px" height="476px" viewBox="-0.5 -0.5 301 476" content="&lt;mxfile&gt;&lt;diagram id=&quot;2D1wWDd2h5TJuRrKpX-K&quot; name=&quot;第 1 页&quot;&gt;zVhNb9swDP01Oraw/BXpaCdOdxlQoIetRy/WYgOOFShKE+/Xj7Tl+HvogrTNqeSTxIiPfJJc4ix35ycV79PvMhE5sa3kTJwVsW3quw78QaSsEdd2a2CrssRMaoGX7I8woGXQY5aIQ2+iljLX2b4PbmRRiI3uYbFS8tSf9lvm/V/dx1sxAl42cT5Gf2SJTmuU2YsW/yaybdr8MvV5PbKLm8kmk0MaJ/LUgZyIOEslpa6t3XkpciSv4aVet54ZvWxMiUK/Z4FdL3iL86PJjUQ+4WsSeGgwTsIIjYCRgJLII3xFuEnzoMuGEJXK3a8jsBqe0kyLl328wZETlB+wVO9y8CiY4/2ZLb8JpcW5A5n9Pgm5E1qVMMWMPnj1irIh11B5aitBFwZLO1VgBotN8beXyC0/YBiKpulyxnQNqRBFEmCLgVfIQvTTh6xV+RMc69Fr3Nfu2AqTtC5eabxZ2nSstkL3aimSXvOOeewQ5U3w1GBK5LHO3votP0We+YVnmcHmLmVq6DZlshcD+g/yqDbCLOp26CAOdQaB7EGgmoJRoKqUl6zfVV13QgweYdD6bqUKkMGKRJxwp1JFJQkQBg6Bva7kYZHARwNmAojIsprjkRC05OOqcE24Ww2FhEMcFxFUF+iNYpyRuuSxSERi+uTjFWbPlK6rMHuic/wbKMz7IoWJc6bNMuYY/7Uz1i5Dp7vqWagM0hTqf7TqTmoV0qxUYej8Svn6/R5w6bXypf1AzrBJbidff06+oDPUX0jCoBIr2BaJFogwt1FkaATNlhAPb7xGpWCE/Ms1SWfq8RmaXNzzreff1a03uKw850rZDG5Pd/h4mVEN1CAuO9P2OOEwv90HOr3ftjHqiNdKkt2wcxjt9c6jhVn9+0xH76rj+b6airo36io6ONU962PairKPbSs+cdIzwsLqqwWeU2Cvph9heBvwqUcYR7ceggMfH3N39yx7GFaveSx9xh3QHBSD23WW4fErecz5Ar8vA14hDpJ8f5xT+/M4B7f98K9V0f77xIn+Ag==&lt;/diagram&gt;&lt;/mxfile&gt;">
<defs/>
<g>
<path d="M 140 130 L 140 50" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 139.96 270 L 140 190" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<rect x="70" y="270" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<path d="M 140 0 L 225 40 L 140 80 L 55 40 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 300px; margin-left: 71px;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 40px; margin-left: 56px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
创建数组进行id比对
查找模块
</div>
</div>
</div>
</foreignObject>
<text x="130" y="304" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
创建数组进行id比对
<text x="140" y="44" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
查找模块
</text>
</switch>
</g>
<path d="M 90 390 L 60 390 Q 50 390 50 380 L 50 310 Q 50 300 60 300 L 70 300" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 200 390 L 205 390 Q 210 390 210 380 L 210 310 Q 210 300 200 300 L 190 300" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<rect x="0" y="385" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<path d="M 140 160 L 140 80" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<rect x="80" y="160" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 415px; margin-left: 1px;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 190px; margin-left: 81px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
若不存在则返回错误信息
判断链表是否存在并返回信息
</div>
</div>
</div>
</foreignObject>
<text x="60" y="419" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
若不存在则返回错误信息
<text x="140" y="194" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
判断链表是否存在并返回信息
</text>
</switch>
</g>
<rect x="180" y="385" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<path d="M 139.96 300 L 140 220" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<rect x="70" y="300" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 415px; margin-left: 181px;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 330px; margin-left: 71px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
存在则链表返回物品信息
创建数组进行id比对
</div>
</div>
</div>
</foreignObject>
<text x="240" y="419" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
存在则链表返回物品信息
<text x="130" y="334" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
创建数组进行id比对
</text>
</switch>
</g>
<ellipse cx="140" cy="40" rx="60" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<path d="M 90 420 L 60 420 Q 50 420 58 414 L 130 360" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 200 420 L 230 420 Q 240 420 231.37 414.95 L 139.72 361.32" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<rect x="0" y="415" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 40px; margin-left: 81px;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 445px; margin-left: 1px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
查找模块
若不存在则返回错误信息
</div>
</div>
</div>
</foreignObject>
<text x="140" y="44" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
查找模块
<text x="60" y="449" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
若不存在则返回错误信息
</text>
</switch>
</g>
<path d="M 140 120 L 240 175 L 140 230 L 40 175 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<rect x="180" y="415" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 175px; margin-left: 41px;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 445px; margin-left: 181px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
判断链表是否存在并返回信息
存在则链表返回物品信息
</div>
</div>
</div>
</foreignObject>
<text x="140" y="179" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
判断链表是否存在并返回信息
<text x="240" y="449" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
存在则链表返回物品信息
</text>
</switch>
</g>

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

Loading…
Cancel
Save