版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、仓库管理系统1. 题目要求设计一个仓库管理系统,可以按照顺序和货物名称查询仓库的存储情也可以增加或删除货物。struct node char NO; /商品编号 char namemax; /商品名称 char count; /商品数量;2. 应用程序功能开始运行时界面如下: 仓库管理链表建立界面如下:仓库管理链表插入界面如下:仓库管理链表查询界面如下:仓库管理链表删除界面如下:仓库管理链表输出界面如下:3. 输入数据类型、格式和内容限制输入数据类型为字符型,但在输入过程中不可出现空格,如在输入商品名称时不可出现空格。4. 主要模块的算法描述流程图:5. 源程序代码#include<st
2、dio.h> #include"iostream"int flag1=0;#include "string.h"#include "stdlib.h"#include "windows.h"using namespace std;typedef struct /仓库管理结点类型 char NO10; /商品编号 char name30; /商品名称 char count5; /商品数量 DataType;typedef struct node /结点类型定义 DataType data; /结点数据域 str
3、uct 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)LinkLis
4、t head=(ListNode *)malloc(sizeof(ListNode); /申请头结点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"
5、);cin>>p->data.NO;printf("n添加商品名称:n");cin>>p->;printf("n添加商品数量:n");cin>>p->data.count;rear->next=p; /新结点连接到尾结点之后rear=p; /尾指针指向新结点printf("继续添加记录?(y/n):");cin>>flag;rear->next=NULL; /终端结点指针置空return head; /返回链表头指针/*在仓库管理链表hea
6、d中插入结点*/void InsertNode(LinkList head,ListNode *p) ListNode *p1,*p2; p1=head; p2=p1->next; while(p2!=NULL && strcmp(p2->data.NO,p->data.NO)<0) p1=p2; /p1指向刚访问过的结点 p2=p2->next; /p2指向表的下一个结点 p1->next=p; /插入p所指向的结点 p->next=p2; /连接表中剩余的结点 /*有序仓库管理链表的查找 */ListNode *ListFind(L
7、inkList head) ListNode *p; char num10; char name9;char pp; printf("=n"); printf(" a. 按商品编号查询 n"); printf(" b. 按商品名称查询 n"); printf("=n"); printf(" 请 选 择: "); p=head->next; cin>>pp;getchar(); if (pp='a'|pp='A') printf("请输入
8、要查找的商品编号:");cin>>num;while (p&&strcmp(p->data.NO,num)<0)p=p->next;if (p=NULL)|strcmp(p->data.NO,num)>0)p=NULL; /没有查到要查找的通讯信息elseif (pp='b'|pp='B') printf(" 请输入要查找的商品名称:");cin>>name;while(p&&strcmp(p->,name)!=0)p=p-
9、>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):");cin>>jx;if (jx='y'|jx='Y') q=head;while (q!=NULL)&&(q-&
10、gt;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->
11、;,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
12、* 3- 仓库管理链表查询 *");printf("nttt* 4- 仓库管理链表删除 *");printf("nttt* 5- 仓库管理链表输出 *");printf("nttt* 0- 退出仓库管理系统 *");printf("nttt*");printf("nttt请选择菜单号(0-5):");cin>>choice;getchar();switch(choice)case 1:printf("*n");printf("* 仓库管理链表建
13、立 *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
14、=(ListNode *)malloc(sizeof(ListNode); /申请新结点printf("n添加商品编号:n");cin>>p->data.NO;printf("n添加商品名称:n");cin>>p->;printf("n添加商品数量:n");cin>>p->data.count;InsertNode(head,p);system("cls");break;case 3:if(flag1!=1) printf("请先建立
15、表!");Sleep(1500);elseprintf("*n");printf("* 仓库管理链表查询 *n");printf("*n");p=ListFind(head);if (p!=NULL) printf("商品编号 商品名称 商品数量 n");printf("-n");printf("%s,%s,%sn",p->data.NO,p->,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("请先建立表!&quo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 首次复发骨髓瘤诊治指南解读2026
- C919客机机组培训指南
- 大班主题活动:环球旅行记-我的奇妙世界之旅
- 深色科技风工作总结科技成就未来模板
- 地铁考试(站务员)习题库(第1部分)
- 就业指导与考研规划
- 2025年广西壮族自治区桂林市初二学业水平地生会考真题试卷+答案
- 2025年广西壮族自治区崇左市初二学业水平地理生物会考真题试卷+答案
- 2025年广东肇庆市初二地理生物会考考试题库(含答案)
- 2025年广东省云浮市初二学业水平地生会考试卷题库及答案
- 2026届百师联盟高三下学期考前适应性训练(一) 历史试题+答案
- 2026年博物馆陈列部招聘笔试陈列设计知识
- 放射科床旁照相工作制度
- 2026年安徽中医药大学资产经营有限公司第二批次招聘13名笔试备考试题及答案解析
- 心力衰竭教育查房
- 2026美伊冲突解析
- 光伏电站运维技术培训
- 松下vf100变频器使用手册
- xx站下行离去区段ZPW-2000A移频自动闭塞工程设计
- 水性树脂化学品安全技术说明书
- 重庆市住宅工程质量分户验收表格
评论
0/150
提交评论