文档介绍:仓库管理系统
题目要求
设计一个仓库管理系统, 可以按照顺序和货物名称查询仓库的存储情也可以增加或删除货物。
struct node
{
char NO; // 商品编号char name[max]; // 商品名称char count; // 商品数量
};
应用程序功能
开始运行时界面如下:
仓库管理链表建立界面如下:
仓库管理链表插入界面如下:
仓库管理链表查询界面如下:
仓库管理链表删除界面如下:
仓库管理链表输出界面如下:
输入数据类型、格式和内容限制
输入数据类型为字符型,但在输入过程中不可出现空格,如在输入商品名称时不可出现空格。
4. 主要模块的算法描述
流程图:
5. 源程序代码
#include<> #include"iostream"
int flag1=0;
#include "" #include "" #include "" 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->;
printf("\n 添加商品名称 :\n"); cin>>p->;
printf("\n 添加商品数量 :\n"); cin>>p->;
rear->next=p; // 新结点连接到尾结点之后
rear=p; // 尾指针指向新结点
printf(" 继续添加记录 ?(y/n):"); cin>>flag;
}
rear->next=NULL; // 终端结点指针置空
return head; // 返回链表头指针
}
/********* 在仓库管理链表 head 中插入结点 ************/ void InsertNode(LinkList head,ListNode *p)
{
ListNode *p1,*p2; p1=head;
p2=p1->next;
wh