收藏 分销(赏)

题目一 仓库管理系统.doc

上传人:pc****0 文档编号:6421541 上传时间:2024-12-08 格式:DOC 页数:7 大小:41.50KB 下载积分:10 金币
下载 相关 举报
题目一 仓库管理系统.doc_第1页
第1页 / 共7页
题目一 仓库管理系统.doc_第2页
第2页 / 共7页


点击查看更多>>
资源描述
题目一 仓库管理系统 使用链表实现一个仓库管理系统,仓库商品的属性包括(商品编号,商品名称,商品数量),借助计算机来完成如下功能: (1)入库:可以录入商品信息,包括:商品编号,商品名称,商品数量,商品价格; (2)出库:可以删除一定数量的指定商品名称的商品,商品不够给出提示。 (3)修改:修改指定商品编号或者商品名称的价格。 (4)删除:可以删除指定商品编号、商品名称的商品记录。 (5)查询:可以查询所有商品信息;或指定商品编号、商品名称的商品信息。 (6)排序:可以根据价格或数量对商品进行排序,并显示排序结果。 #include <iostream> #include<string> using namespace std; typedef struct LNODE //结点类型 { string name; int no; int nu; int price; struct LNODE *next; }LNODE, *LinkList; int main_L() { printf("\n 仓库管理系统 \n\n"); printf(" 1.入库(录入商品信息)\n\n"); printf(" 2.出库(减少商品数量)\n\n"); printf(" 3.修改商品信息\n\n"); printf(" 4.删除商品信息\n\n"); printf(" 5.查询商品信息\n\n"); printf(" 6.排序(根据商品信息排序)\n\n"); printf(" 7.退出\n\n"); printf(" 请输入所要执行操作前编号:"); int n; scanf("%d",&n); return n; } LinkList CreateList_L(){ LinkList head, s, r; int i,n; head= NULL; r=NULL; printf("请输入所需录入商品的数目N="); scanf("%d",&n); printf("请依次输入商品信息(名称 编号 数量 价格):\n"); for (i = 0; i<n; i ++) { s = new LNODE; string m; int a,b,c; cin>>m>>a>>b>>c; s->name=m; s->no=a; s->nu=b; s->price=c; if (head == NULL) head = s; else r->next = s; r = s; } r->next = NULL; return head; } LinkList List_L(string m,int a,int b,int c){ LinkList head, s, r; head= NULL; r=NULL; s = new LNODE; s->name=m; s->no=a; s->nu=b; s->price=c; if (head == NULL) head = s; else r->next = s; r = s; r->next = NULL; return head; } int AlterList_L(LinkList &h,int x) { LinkList p; p=h; while((p->next!=NULL)&&(p->no!=x)) p=p->next; if(p->no==x) { printf("修改前商品信息(名称 编号 数量 价格):"); printf("%c %d %d %d\n",p->name,p->no,p->nu,p->price); printf("请输入修改后商品信息(名称 编号 数量 价格):"); string m; int a,b,c; cin>>m>>a>>b>>c; p->name=m; p->no=a; p->nu=b; p->price=c; return 1; } else return 0; } int OutList_L(LinkList &h,int x) { LinkList p; p=h; while((p->next!=NULL)&&(p->no!=x)) p=p->next; if(p->no==x) { printf("请输入出库的商品数目:"); int a; cin>>a; if(p->nu-a>=0) {p->nu=p->nu-a; return 1;} else{ printf("\n商品数目不够\n"); return 0;} } else return 0; } int DeleList_L(LinkList &h,int x) { LinkList p, q; p=h; if(h==NULL) return 1; if(h->no==x) {return 0;} else { while((p->next!=NULL)&&(p->no!=x)){q=p;p=p->next;} if(p->no==x){q->next=p->next;return 1;} else{return 2;} } } void ShowList_L1(LinkList &La) { printf("\n 商品信息表\n\n"); printf(" 名称 编号 数量 价格\n"); LinkList Lb; Lb=La; while(Lb!=NULL) { cout<<" "<<Lb->name<<" "<<Lb->no<<" "<<Lb->nu<<" "<<Lb->price<<endl; Lb=Lb->next; } } void ShowList_L2(LinkList &h,int x) { LinkList p; p=h; while((p->next!=NULL)&&(p->no!=x)) p=p->next; if(p->no==x) { printf("\n该编号商品信息(名称 编号 数量 价格): "); cout<<" "<<p->name<<" "<<p->no<<" "<<p->nu<<" "<<p->price<<endl; } else printf("商品编号输入有误\n"); } LinkList SortList_L(LinkList &h) { LinkList p,q; p=h; for(;p->next!=NULL;p=p->next) for(q=p->next;q!=NULL;q=q->next) { string m; int x,y,z; if(p->nu<=q->nu) {m=p->name;p->name=q->name;q->name=m; x=p->no;p->no=q->no;q->no=x; y=p->nu;p->nu=q->nu;q->nu=y; z=p->price;p->price=q->price;q->price=z;} } return h; } void function(LinkList &La,LinkList &Lb) { int n,m; n=main_L(); if(n==1) { system("cls"); LinkList Lc; Lc=CreateList_L(); Lb->next=Lc; printf("\n数据录入成功\n"); printf("\n1.返回 2.退出\n\n"); printf("请输入所要执行操作前编号:"); int n; scanf("%d",&n); if(n==1){system("cls");function(La,Lb);} else { exit(0); system("exit");} } if(n==2) { system("cls"); printf("请输入所要出库商品编号:"); scanf("%d",&m); if(OutList_L(La,m)) printf("\n商品出库成功\n"); printf("\n1.返回 2.退出\n\n"); printf("请输入所要执行操作前编号:"); int n; scanf("%d",&n); system("cls"); function(La,Lb); } if(n==3) { system("cls"); printf("请输入所要修改商品编号:"); scanf("%d",&m); if(AlterList_L(La,m)) printf("数据修改成功\n"); else printf("商品编号输入有误\n"); printf("\n1.返回 2.退出\n\n"); printf("请输入所要执行操作前编号:"); int n; scanf("%d",&n); if(n==1){system("cls");function(La,Lb);} else system("exit"); } if(n==4) { system("cls"); printf("请输入所要删除商品编号:"); scanf("%d",&m); if(DeleList_L(La,m)==2) printf("商品编号输入有误\n"); else printf("\n数据删除成功\n"); if(DeleList_L(La,m)==0) La=La->next; printf("\n1.返回 2.退出\n\n"); printf("请输入所要执行操作前编号:"); int n; scanf("%d",&n); if(n==1){system("cls");function(La,Lb);} else system("exit"); } if(n==5) { system("cls"); printf("\n1.查询所有商品信息\n\n"); printf("\n2.查询指定编号商品信息\n\n"); printf("\n请输入所要执行操作前编号:"); int n; scanf("%d",&n); if(n==1) {system("cls");ShowList_L1(La);} else { printf("\n请输入所要查询商品编号:"); scanf("%d",&n); ShowList_L2(La,n); } printf("\n 1.返回 2.退出\n\n"); printf("请输入所要执行操作前编号:"); scanf("%d",&m); if(m==1) {system("cls");function(La,Lb);} else system("exit"); } if(n==6) { system("cls"); printf("\n根据商品数目由多到少排序\n\n"); La=SortList_L(La); ShowList_L1(La); printf("\n 1.返回 2.退出\n\n"); printf("请输入所要执行操作前编号:"); scanf("%d",&m); if(m==1) {system("cls");function(La,Lb);} else system("exit"); } } int main() { LinkList La,Lb,Lc; La=List_L("a1",1,20,30); Lb=List_L("b2",2,35,18); Lc=List_L("c3",3,15,28); La->next=Lb; Lb->next=Lc; function(La,Lc); return 0; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服