需求(<C语言程序设计-现代方法> 339页):
此程序用来维护仓库存储的零件的信息数据库. 程序围绕一个结构数组建立, 且每个结构包含以下信息: 零件的编号, 零件的名称以及某种零件的数量. 程序将支持以下操作:
1. 添加新零件编号, 名称和现有的初始数量. 如果零件已经在数据库中, 或者数据库已满, 那么程序必须显示出出错信息.
2. 给定零件编号, 显示出零件的名称和当前现有的数量. 如果零件编号不在数据库中, 那么程序必须显示出出错信息.
3. 给定零件编号, 改变现有的零件数量. 如果零件编号不在数据库中, 那么程序必须显示出错信息.
4. 显示表格列出数组库中的全部信息. 零件必须按照录入的数序显示出来
5. 终止程序的执行.
使用i(插入), s(搜索), u(更新), p(显示)和q(退出)分别表示这些操作
主程序(partdb.c):
1. 通过flag控制程序是否继续运行.
2. 不断通过prompt()提示用户输入命令, 并检查用户输入的命令, 直到用户输入一个合法的命令.
3. 根据不同的命令, 进入不同的处理分支.
4. 插入命令: 判断数据库是否满, 要插入的id是否存在决定是否继续.
5. 搜索命令: 查找并显示输入id的零件信息.
6. 更新命令: 搜索要更新数量的零件是否存在, 然后继续更新数量
7. 显示: 打印所有零件的信息到屏幕
8. 退出: 将flag置为FALSE, 退出系统
9. 其他: 认为是系统出现严重错误导致的退出.
bool.h: 定义了Bool类型及TRUE, FALSE
command.h: 描述了与命令获取相关的函数声明
command.c: 对命令获取相关函数的实现
input.h: 描述了获取用户输入零件信息时的相关输入函数声明
input.c: 描述获取用户输入相关函数的实现
part.h:
零件的结构, 零件数据库(结构数组)定义, 零件数据库相关操作等函数的声明.
part.c: 零件数据库相关操作函数的实现
makefile
partdb: partdb.o command.o input.o part.o
gcc -o partdb partdb.o command.o input.o part.o
partdb.o: partdb.c bool.h input.h command.h part.h
gcc -c partdb.c
command.o: command.c bool.h command.h
gcc -c command.c
input.o: input.c input.h
gcc -c input.c
part.o: part.c bool.h part.h
gcc -c part.c