主观题:维护零件数据库链表
设计一个程序用来维护仓库存储的零件信息的数据库,该数据库采用链表存储零件信息,包括零件的编号、名称及现有数量。
程序支持下列操作:
- **添加新零件编号、名称和初始的现货数量**。如果零件已经在数据库中,或者数据库已满,那么程序必须显示出错信息。
- **给定零件编号,显示出零件的名称和当前的现货数量**。如果零件编号不在数据库中,那么程序必须显示出错信息。
- **给定零件编号,改变现有的零件数量**。如果零件编号不在数据库中,那么程序必须显示出错信息。
- **显示列出数据库中全部信息的表格**。必须按照零件编号从小到大的顺序显示。
- **终止程序的运行**。
使用 i(插入)、s(搜索)、u(更新)、p(显示)和q(退出)分别表示这些操作。
程序的执行过程可能如下:
Enter operation code: i
Enter part number: 528
Enter part name: Disk drive
Enter quantity on hand: 10
Enter operation code: s
Enter part number: 528
Part name: Disk drive
Quantity on hand: 10
Enter operation code: s
Enter part number: 914
Part not found.
Enter operation code: i
Enter part number: 914
Enter part name: Printer cable
Enter quantity on hand: 5
Enter operation code: u
Enter part number: 528
Enter change in quantity on hand: -2
Enter operation code: s
Enter part number: 528
Part name: Disk drive
Quantity on hand: 8
Enter operation code: p
Part Number Part Name Quantity on Hand
528 Disk drive 8
914 Printer cable 5
Enter operation code: q
答案:
程序支持下列操作:
- **添加新零件编号、名称和初始的现货数量**。如果零件已经在数据库中,或者数据库已满,那么程序必须显示出错信息。
- **给定零件编号,显示出零件的名称和当前的现货数量**。如果零件编号不在数据库中,那么程序必须显示出错信息。
- **给定零件编号,改变现有的零件数量**。如果零件编号不在数据库中,那么程序必须显示出错信息。
- **显示列出数据库中全部信息的表格**。必须按照零件编号从小到大的顺序显示。
- **终止程序的运行**。
使用 i(插入)、s(搜索)、u(更新)、p(显示)和q(退出)分别表示这些操作。
程序的执行过程可能如下:
Enter operation code: i
Enter part number: 528
Enter part name: Disk drive
Enter quantity on hand: 10
Enter operation code: s
Enter part number: 528
Part name: Disk drive
Quantity on hand: 10
Enter operation code: s
Enter part number: 914
Part not found.
Enter operation code: i
Enter part number: 914
Enter part name: Printer cable
Enter quantity on hand: 5
Enter operation code: u
Enter part number: 528
Enter change in quantity on hand: -2
Enter operation code: s
Enter part number: 528
Part name: Disk drive
Quantity on hand: 8
Enter operation code: p
Part Number Part Name Quantity on Hand
528 Disk drive 8
914 Printer cable 5
Enter operation code: q
答案: