数据结构仓库管理系统_第1页
数据结构仓库管理系统_第2页
数据结构仓库管理系统_第3页
数据结构仓库管理系统_第4页
数据结构仓库管理系统_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、仓库管理系统1.题目要求设计一个仓库管理系统,可以按照顺序和货物名称查询仓库的存储情也可以 增加或删除货物。struct node*C: Pxogra FilesKicrasaft Visual StudiaVEyPro ject sabcDabu仓库管理系统*好*好好请选择菜单号 =仓库管理链表建立界面如下:(char NO; /char namemax; /char count; /;2.应用程序功能开始运行时界面如下:冏品编号商品名称商品数量8 理链表建立 理链表插入 理链表查询 以斤彖理链表删除 卷库官理链表输出 退出仓库管理索统0-仓库管理链表插入界面如下:仓库管理链表查询界面如下:

2、仓库管理链表查询奈查询仓库管理链表删除界面如下:RHX1_1仓库管理系统退出仓库管理仓库管理链表删除搜狗,二三*1 4 =育理链表建立*2-三库营理链表插入*3-荏库皆理链表查询仓库管理链表输出界面如下:仓库管理链表删除界面如下:3.输入数据类型、格式和内容限制输入数据类型为字符型,但在输入过程中不可出现空格,如在输入商品 名称时不可出现空格。4.主要模块的算法描述流程图:5.源程序代码#include #includeiostream int flag1=0;#include string.h #include stdlib.h #include windows.h using namesp

3、ace std; typedef struct /char NO10; / char name30; / char count5; / DataType;typedef struct node DataType data; /| H A!1J|11 L蜷重仓库管理结点类型冏品编号商品名称商品数量/结点类型定义结点数据域名林ft背struct node *next; /结点指针域 ListNode;typedef ListNode *LinkList;LinkList head;ListNode *p;LinkList CreateList(void);void InsertNode(LinkL

4、ist 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; /结束标志置0rear=head; /尾指针初始指向头结点while (fl

5、ag=y)p=(ListNode *)malloc(sizeof(ListNode); /申新结点printf(商品编号(10)商品名称(30)商品数量n);printf(- n);printf(n添加商品编号:n);cinp-data.NO;printf(n添加商品名称:n);;printf(n添加商品数量:n);cinp-data.count;rear-next=p; /新结点连接到尾结点之后rear=p; /尾指针指向新结点printf(继续添加记录?(y/n):);cinflag;rear-next=NULL; /终端结点指针置空return head; /

6、返回链表头指针 void InsertNode(LinkList head,ListNode *p) /*在仓库管理链表head中插入结点*/ListNode *p1,*p2;p1=head;p2=p1-next;while(p2!=NULL & strcmp(p2-data.NO,p-data.NO)next; /p2p1-next=p; /p-next=p2; /指向刚访问过的结点指向表的下一个结点插入p所指向的结点连接表中剩余的结点ListNode *ListFind(LinkList head) (ListNode *p;char num10;char name9;char p

7、p;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 (p=NULL)|strcmp(p-data.NO,num)0) p=NULL; /到要查找的通讯信息elseif (pp=b|pp=B)(printf(请输入要查找的商品名称:);cinname;while(p&

8、;strcmp(,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!=NULL) printf(真的要删除该商品吗? ( y/n ):);cinjx;if (jx=y|jx=Y)(q=head;while (q!=NULL)&(q-next!=p)

9、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-data.count);printf(-n);p=p-next;/后移一个结点void main()int choice,j=1;char Cho

10、ice;while(j)printf(nnnnn);printf(tttt仓库管理系统n);printf(nttt*);printf(nttt*); printf(nttt请选择菜单号(0-5):);cinchoice; getchar(); switch(choice) case 1: printf(*n) ;printf(*仓库管理链表建立printf(*n);head=CreateList();flag1=1;system(cls);break;case2:if(flag1!=1)printf(请 先 建 立 表!);printf(*n); printf(*仓库管理链表插入printf(

11、*n);printf(商品编号(10)商品名称(30)printf(*p=(ListNode *)malloc(sizeof(ListNode); /printf(n添加商品编号:n);printf(nttt*1-仓库管理链表建立*printf(nttt*2-仓库管理链表插入*printf(nttt*3-仓库管理链表查询*printf(nttt*4-仓库管理链表删除*printf(nttt*5-仓库管理链表输出*printf(nttt*0-退出仓库管理系统*) ;) ;) ;) ;) ;) ;Sleep(1500);*n);商品数量n);n);申请新结点cinp-data.NO;printf(

12、n添加商品名称:n);;printf(n添加商品数量:n);cinp-data.count;InsertNode(head,p);system(cls);break;case 3: if(flag1!=1) printf( else printf(*n);printf(*仓库管理链表查询*n);printf(*n);p=ListFind(head);if (p!=NULL) printf(-商品编号 商品名称 商品数量n);printf(printf(%s,%s,%sn,p-data.NO,,p-data.count);printf(n);else printf(-没有查到要查询的商品信息!n);break;case 4:if(flag1!=1) printf(请先建立表!);Sleep(1500);elseprintf(*n);仓库管理链表删除DelNode(head); /删除结点break;printf(*n);请先建立表!);Sleep(1500);n);printf(*n);case 5:(if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论