You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
teamworks/README.md

296 lines
7.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 零件库存管理系统
2023/5/21
杨腾泽,孙英皓,刘彩月,李聪颖
## 项目简介
本系统是程序设计与问题求解课程设计项目,实现了库存零件 CSV 格式数据文件的读取和保存以及数据的增删改查CRUD、排序和图表显示等功能。项目采用 C 语言编程实现,在 VS Code 集成开发环境IDE中用 GCC 进行编译。系统采用模块化设计,程序结构清晰,采用菜单驱动的命令行界面,操作便捷,能够用 CSV 格式读取和保存数据,通用性强,能够用图表展示数据,直观清楚。
下载地址https://gitee.com/sjandsy/parts-management.git
项目开发过程中采用 Kanban看板进行任务管理和分工协作并使用 Git 对程序代码和文档进行版本管理。任务分工情况如下:
| 任务 | 设计 | 开发 | 测试 | 文档 |
| ---- | ---- | ---- | ---- | ---- |
| C1-C3 菜单驱动的用户界面 | | | | |
|C4 添加库存记录 | | | | |
|C5 查询库存记录 | | | | |
|C6 打印库存列表 | | | | |
|C7 修改库存记录 | | | | |
|C8 删除库存记录 | | | | |
|C9 库存记录排序 | | | | |
|C10 读取库存文件 | | | | |
|C11 将库存保存到文件 | | | | |
每个成员的工作量(百分比):
| | | | |
|--------|-------|---------|-------|
| | | | |
## 关于零件库存管理系统
设计一个库存零件管理系统,要求采用命令行菜单界面进行交互,具备读取、保存、打印、查询、修改、插入、删除和排序等基本功能,能够以表格和图表形式展示数据,采用 CSV 格式保存数据。
系统的功能性需求:
- 数据的读取、保存、打印、查询、修改、插入、删除、排序和图表展示。
系统的非功能性需求:
- 菜单驱动的命令行交互界面。
## 需求分析
分析系统的功能需求和界面需求,编制用户手册如下。
#### C1: 启动程序
命令行中执行命令 `./app`,系统启动,显示提示信息,然后显示功能菜单,等待用户输入命令。
```
==欢迎来到商品管理系统===
1.功能菜单 | 2.退出
请输入想要操作的选项*-*
```
#### C2: 显示命令菜单
```
==欢迎来到商品管理系统===
1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加
6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出
请输入想要操作的选项*-*
```
#### C3: 退出程序
选择菜单命令 `0`,再输入 `y` 确认,则退出程序。
```
请输入想要操作的选项*-*0
确定要退出吗?(Y/N): y
程序退出
```
#### C4: 添加库存记录
选择菜单命令 `5`,提示输入零件编号,若该零件不存在,则继续输入零件名称、库存数量,添加零件,并提示完成;若零件编号已存在,则提示零件已存在,并结束。
```
请输入想要操作的选项*-*5
请输入id101
请输入商品名:电脑
请输入商品数量20
商品 101 已添加成功
1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加
6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出
```
#### C5: 查询库存记录
选择菜单命令 `4`,提示输入零件编号,若该零件存在,则输出零件信息;否则提示零件不存在并结束。
```
请输入想要操作的选项*-*4
请输入需要查找的商品id101
商品的id101
商品的名称:电脑
商品的数量20
1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加
6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出
请输入想要操作的选项*-*4
请输入需要查找的商品id100
输入的商品信息无效!!!
```
#### C6: 打印库存列表
选择菜单命令 `3`,打印
```
请输入想要操作的选项*-*3
商品的id101
商品的名称:电脑
商品的数量20
```
#### C7: 修改库存记录
选择菜单命令 `6`,根据提示输入零件编号,若零件存在,则继续输入新的零件名和库存数量,并修改库存记录;否则,提示零件不存在并结束。
```
请输入想要操作的选项*-*6
请输入需要修改的商品id101
原商品的数量20
请输入修改的商品数量12
商品数量修改成功 *_*
1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加
6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出
请输入想要操作的选项*-*3
商品的id101
商品的名称:电脑
商品的数量12
1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加
6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出
请输入想要操作的选项*-*6
请输入需要修改的商品id100
您输入的商品名称没有找到!!
```
#### C8: 删除库存记录
选择菜单命令 `7`,根据提示输入零件编号,若零件存在,则删除之;否则提示零件不存在并结束。
```
请输入想要操作的选项*-*7
请输入需要删除的商品id100
您输入的商品名称没有找到!!
1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加
6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出
请输入想要操作的选项*-*7
请输入需要删除的商品id101
商品 101 已被删除!!
1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加
6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出
请输入想要操作的选项*-*3
商品的id101
您的数据库内没有商品!
```
#### C9: 库存记录排序
选择菜单命令 `8`,对库存记录按零件编号从小到大排序。
```
请输入想要操作的选项*-*3
商品的id101
商品的名称:电脑
商品的数量20
1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加
6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出
请输入想要操作的选项*-*8
排序
排序已完成
1 读取 | 2 保存 | 3 打印 | 4 查询 | 5 添加
6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出
请输入想要操作的选项*-*3
商品的id101
商品的名称:电脑
商品的数量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
商品的id103
商品的名称:显示器
商品的数量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 退出
```