2022年数据结构仓库管理系统终版 .pdf

上传人:H****o 文档编号:39718476 上传时间:2022-09-07 格式:PDF 页数:11 大小:469.96KB
返回 下载 相关 举报
2022年数据结构仓库管理系统终版 .pdf_第1页
第1页 / 共11页
2022年数据结构仓库管理系统终版 .pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《2022年数据结构仓库管理系统终版 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构仓库管理系统终版 .pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、仓库管理系统1.题目要求设计一个仓库管理系统,可以按照顺序和货物名称查询仓库的存储情也可以增加或删除货物。struct node char NO;/商品编号 char namemax;/商品名称 char count;/商品数量;2.应用程序功能开始运行时界面如下:仓库管理链表建立界面如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 11 页 -仓库管理链表插入界面如下:仓库管理链表查询界面如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 11 页 -仓库管理链表删除界面如下:仓库管理链表输出界面如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页

2、,共 11 页 -3.输入数据类型、格式和内容限制输入数据类型为字符型,但在输入过程中不可出现空格,如在输入商品名称时不可出现空格。4.主要模块的算法描述流程图:名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 11 页 -5.源程序代码#include#includeiostream int flag1=0;#include string.h#include stdlib.h#include windows.h using namespace std;typedef struct /仓库管理结点类型 char NO10;/商品编号 char name30;/商品名称 char c

3、ount5;/商品数量 DataType;typedef struct node /结点类型定义 DataType data;/结点数据域名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 11 页 -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 DelN

4、ode(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)商 品 名

5、称(30)商品 数 量(5)n);printf(-n);printf(n添加商品编号:n);cinp-data.NO;printf(n添加商品名称:n);cinp-data.name;printf(n添加商品数量:n);cinp-data.count;rear-next=p;/新结点连接到尾结点之后rear=p;/尾指针指向新结点printf(继续添加记录?(y/n):);cinflag;rear-next=NULL;/终端结点指针置空return head;/返回链表头指针/*在仓库管理链表 head 中插入结点*/void InsertNode(LinkList head,ListNode

6、*p)名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 11 页 -ListNode*p1,*p2;p1=head;p2=p1-next;while(p2!=NULL&strcmp(p2-data.NO,p-data.NO)next;/p2指向表的下一个结点 p1-next=p;/插入 p 所指向的结点 p-next=p2;/连接表中剩余的结点/*有序仓库管理链表的查找 */ListNode *ListFind(LinkList head)ListNode*p;char num10;char name9;char pp;printf(=n);printf(a.按商品编号查询 n);

7、printf(b.按商品名称查询 n);printf(=n);printf(请 选 择:);p=head-next;cinpp;getchar();if(pp=a|pp=A)printf(请输入要查找的商品编号:);cinnum;while(p&strcmp(p-data.NO,num)next;if(p=NULL)|strcmp(p-data.NO,num)0)p=NULL;/没有查到要查找的通讯信息 else if(pp=b|pp=B)printf(请输入要查找的商品名称:);cinname;while(p&strcmp(p-data.name,name)!=0)p=p-next;retu

8、rn p;名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 11 页 -/*仓库管理链表上的结点删除*/void DelNode(LinkList head)char jx;ListNode*p,*q;p=ListFind(head);/调用查找函数if(p=NULL)printf(没有查到要删除的商品信息!n);return;if(p!=NULL)printf(真的要删除该商品吗?(y/n):);cinjx;if(jx=y|jx=Y)q=head;while(q!=NULL)&(q-next!=p)q=q-next;q-next=p-next;/删除结点free(p);/释放被删

9、结点空间printf(删除成功!n);/*仓库管理链表的输出函数*/void PrintList(LinkList head)ListNode*p;p=head-next;printf(商品编号商品名称商品数量 n);printf(-n);while(p!=NULL)printf(%15s%20s%23sn,p-data.NO,p-data.name,p-data.count);printf(-n);p=p-next;/后移一个结点名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 11 页 -void main()int choice,j=1;char Choice;while(j

10、)printf(nnnnn);printf(tttt仓库管理系统 n);printf(nttt*);printf(nttt*1-仓库管理链表建立 *);printf(nttt*2-仓库管理链表插入 *);printf(nttt*3-仓库管理链表查询 *);printf(nttt*4-仓库管理链表删除 *);printf(nttt*5-仓库管理链表输出 *);printf(nttt*0-退出仓库管理系统 *);printf(nttt*);printf(nttt请选择菜单号(0-5):);cinchoice;getchar();switch(choice)case 1:printf(*n);pri

11、ntf(*仓库管理链表建立 *n);printf(*n);head=CreateList();flag1=1;system(cls);break;case 2:if(flag1!=1)printf(请先建立表!);Sleep(1500);printf(*n);printf(*仓库管理链表插入 *n);printf(*n);printf(商品编号(10)商品名称(30)商品数量 n);printf(*n);p=(ListNode*)malloc(sizeof(ListNode);/申请新结点printf(n添加商品编号:n);名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 11 页

12、 -cinp-data.NO;printf(n添加商品名称:n);cinp-data.name;printf(n添加商品数量:n);cinp-data.count;InsertNode(head,p);system(cls);break;case 3:if(flag1!=1)printf(请先建立表!);Sleep(1500);else printf(*n);printf(*仓库管理链表查询 *n);printf(*n);p=ListFind(head);if(p!=NULL)printf(商品编号商品名称商品数量 n);printf(-n);printf(%s,%s,%sn,p-data.N

13、O,p-data.name,p-data.count);printf(-n);else printf(没有查到要查询的商品信息!n);break;case 4:if(flag1!=1)printf(请先建立表!);Sleep(1500);else printf(*n);printf(*仓库管理链表删除 *n);printf(*n);DelNode(head);/删除结点 break;名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 11 页 -case 5:if(flag1!=1)printf(请先建立表!);Sleep(1500);else printf(*n);printf(*仓库管理链表输出 *n);printf(*n);PrintList(head);break;case 0:j=0;system(cls);break;default:printf(ttn 输入有错,请重新输入!n);Sleep(1500);system(cls);break;名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 11 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁