数据结构仓库管理系统(共11页).doc

上传人:飞****2 文档编号:14497692 上传时间:2022-05-04 格式:DOC 页数:11 大小:474KB
返回 下载 相关 举报
数据结构仓库管理系统(共11页).doc_第1页
第1页 / 共11页
数据结构仓库管理系统(共11页).doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

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

1、精选优质文档-倾情为你奉上仓库管理系统1. 题目要求设计一个仓库管理系统,可以按照顺序和货物名称查询仓库的存储情也可以增加或删除货物。struct node char NO; /商品编号 char namemax; /商品名称 char count; /商品数量;2. 应用程序功能开始运行时界面如下: 仓库管理链表建立界面如下:仓库管理链表插入界面如下:仓库管理链表查询界面如下:仓库管理链表删除界面如下:仓库管理链表输出界面如下:3. 输入数据类型、格式和内容限制输入数据类型为字符型,但在输入过程中不可出现空格,如在输入商品名称时不可出现空格。4. 主要模块的算法描述流程图:5. 源程序代码#

2、include #includeiostreamint flag1=0;#include string.h#include stdlib.h#include windows.husing namespace std;typedef struct /仓库管理结点类型 char NO10; /商品编号 char name30; /商品名称 char count5; /商品数量 DataType;typedef struct node /结点类型定义 DataType data; /结点数据域 struct node *next; /结点指针域 ListNode;typedef ListNode *

3、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); /申请头结点

4、ListNode *p,*rear;char flag=y;/int flag=0; /结束标志置0rear=head; /尾指针初始指向头结点while (flag=y) p=(ListNode *)malloc(sizeof(ListNode); /申新结点printf( 商品编号(10) 商品名称(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; /新结点连接到尾结点

5、之后rear=p; /尾指针指向新结点printf(继续添加记录?(y/n):);cinflag;rear-next=NULL; /终端结点指针置空return head; /返回链表头指针/*在仓库管理链表head中插入结点*/void InsertNode(LinkList head,ListNode *p) 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; /连接表中剩

6、余的结点 /*有序仓库管理链表的查找 */ListNode *ListFind(LinkList head) ListNode *p; char num10; char name9;char pp; printf(=n); printf( a. 按商品编号查询 n); 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 (

7、p=NULL)|strcmp(p-data.NO,num)0)p=NULL; /没有查到要查找的通讯信息elseif (pp=b|pp=B) printf( 请输入要查找的商品名称:);cinname;while(p&strcmp(p-data.name,name)!=0)p=p-next; return p; /*仓库管理链表上的结点删除*/void DelNode(LinkList head)char jx;ListNode *p,*q; p=ListFind(head); /调用查找函数if (p=NULL) printf(没有查到要删除的商品信息!n);return; if(p!=NU

8、LL)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); /释放被删结点空间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

9、-data.name,p-data.count);printf(-n);p=p-next; /后移一个结点void main()int choice,j=1;char Choice;while(j)printf(nnnnn);printf(tttt仓库管理系统n);printf(nttt*);printf(nttt* 1- 仓库管理链表建立 *);printf(nttt* 2- 仓库管理链表插入 *);printf(nttt* 3- 仓库管理链表查询 *);printf(nttt* 4- 仓库管理链表删除 *);printf(nttt* 5- 仓库管理链表输出 *);printf(nttt*

10、0- 退出仓库管理系统 *);printf(nttt*);printf(nttt请选择菜单号(0-5):);cinchoice;getchar();switch(choice)case 1:printf(*n);printf(* 仓库管理链表建立 *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)

11、商品数量n);printf(* n);p=(ListNode *)malloc(sizeof(ListNode); /申请新结点printf(n添加商品编号:n);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);elseprintf(*n);printf(* 仓库管理链表查询 *n);printf(*n);p=List

12、Find(head);if (p!=NULL) printf(商品编号 商品名称 商品数量 n);printf(-n);printf(%s,%s,%sn,p-data.NO,p-data.name,p-data.count);printf(-n);else printf(没有查到要查询的商品信息!n);break;case 4: if(flag1!=1) printf(请先建立表!);Sleep(1500);elseprintf(*n);printf(* 仓库管理链表删除 *n);printf(*n);DelNode(head); /删除结点break;case 5:if(flag1!=1) printf(请先建立表!);Sleep(1500);elseprintf(*n);printf(* 仓库管理链表输出 *n);printf(*n);PrintList(head);break;case 0:j=0;system(cls);break;default:printf(ttn 输入有错,请重新输入!n);Sleep(1500);system(cls);break;专心-专注-专业

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

当前位置:首页 > 教育专区 > 教案示例

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

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