仓库管理系统 1. 题目要求 设计一个仓库管理系统,可以按照顺序和货物名称查询仓库的存储情也可以增加或删除货物。 struct node { char NO; //商品编号 char name[max]; //商品名称 char count; //商品数量 }; 2. 应用程序功能 开始运行时界面如下: 仓库管理链表建立界面如下: 仓库管理链表插入界面如下: 仓库管理链表查询界面如下: 仓库管理链表删除界面如下: 仓库管理链表输出界面如下: 3. 输入数据类型、格式和内容限制 输入数据类型为字符型,但在输入过程中不可出现空格,如在输入商品名称时不可出现空格。 4. 主要模块的算法描述 流程图: 5. 源程序代码 #include #include"iostream" int flag1=0; #include "string.h" #include "stdlib.h" #include "windows.h" using namespace std; typedef struct { //仓库管理结点类型 char NO[10]; //商品编号 char name[30]; //商品名称 char count[5]; //商品数量 } DataType; typedef struct node { //结点类型定义 DataType data; //结点数据域 struct node *next; //结点指针域 } ListNode; typedef ListNode *LinkList; LinkList head; ListNode *p; LinkList CreateList(void); void InsertNode(LinkList head,ListNode *p); ListNode *ListFind(LinkList head); void DelNode(LinkList head); void PrintList(LinkList head); /*******尾插法建立带头结点的仓库管理链表算法*******/ LinkList CreateList(void) { LinkList head=(ListNode *)malloc(sizeof(ListNode)); //申请头结点 ListNode *p,*rear; char flag='y'; //int flag=0; //结束标志置0 rear=head; //尾指针初始指向头结点 while (flag=='y') { p=(ListNode *)malloc(sizeof(ListNode)); //申新结点 printf(" 商品编号(10) 商品名称(30) 商品数量(5) \n"); printf("-----------------------------------------------\n"); printf("\n 添加商品编号:\n"); cin>>p->data.NO; printf("\n 添加商品名称:\n"); cin>>p->data.name; printf("\n 添加商品数量:\n"); cin>>p->data.count; rear->next=p; //新结点连接到尾结点之后 rear=p; //尾指针指向新结点 printf("继续添加记录?(y/n):"); cin>>flag; } rear->next=NULL; //终端结点指针置空 return head; //返...