版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、H);printfffnttt* printf(,rnttt* printf(,rnttt* printf(Hnttt* printf(nnttt*0 退出仓库管理系统#in clude using namespace std; typedef structchar no10;char name30;int count; DataType; struct NodeDataType data;Node *next;class Link public:Link(); 构造函数,建立单链表int Insertf); /插入节点,即添加货物Node * SearchO; /査找某个节点 void De
2、lete!); /删除节点或更改节点的数据 void show(); /输出节点信息 char Yn();/输入(y/n)函数cliar * No); 输入货物编号函数 void FprintfO; /将单链表数据写到文件中 void FscanfO; /读取文件中的数据 private:Node *first,*real,*p,*q;int main()int t=l,flag=l,f=l; char n;Node * p;Link Ku; wliile(t)printfrnnnnnM);*XXX仓库管理系统*1 存储货物*);2 查询货物信息*);3 取出货物*1;4 显示仓库内所有货物信
3、息*);H);*printfCnttt 请选择菜单号(04):”);f=l;while(f=l)cinn;if(n4)printff输入有误,请重新输入(0-4):); f=l;elsef=0;printf(unnM); switch(n)case T:printf(H*printf(H存储货物printf(H*E);/printf(货物编号 货物名称货物数量nj;/printff*int a= 1; while(a=l)a=Ku.Insert();Ku.FprintfO;/将单链表里的数据写入文件。 break; case 2:printf(H*printf(H查询货物信息printf(H*
4、X)flag=l;char yn; while(flag=l)p=Ku Search();if(P)printfCAn货物编号货物名称货物数量n”); printf(HnH);printf(H%5s%9s%8dn,p-data.no,p-data.naniep-data.count); printf(unM);elseprintf(仓库中没有该货物! n);printf(是否继续查询?(y/n):); yn=Ku.Yn();if(yn=y | | yn=,Y,)flag=l;if(yn=h| |yn=N)flag=O;break;case 3:printf(H*printf(H*取出货物pri
5、ntf(H*flag=l;char yn; while(flag=l)Ku.DeleteO;printfC是否继续取货?(y/n):“); yn=Ku.Yn();/调用输入y/n函数 if(yn=y | | yn=Y)flag=l;if(yn=h | |yn=N) flag=O; break;case 4*:Ku.show(); break;case O:char yn;printf(确定退出仓库管理系统吗? (y/n):); yn=Ku.Yn);/调用输入y/n函数 if(yn=y| |yn=Y)printfr谢谢使用iT);t=0;if(yn=h| |yn=N)t=l;break;retu
6、rn 0;Link:Link()first=new Node; first-next=NULL;real=first;FILE 忙NULL;fp=fopen(nd: fileO l.txt,;,aH); fclose(fp);/FprintfO;Fscanf();int Link:Insert()char yn;char no10,name30);int count,t;printf(n货物编号货物名称(30) 货物数量(5)n);printf(MnM);printf(n请输入货物编号(10个字符以内):n”); strcpy(no,No();printf(n输入货物名称(30个字符以内):n
7、); cinname;t=l;while(t)printfC输入货物数量(整数):);cincount;il(countnext;while(p)if (s t r cmp (p - data. no, no)=0&strcmp(,name)=O)/piintfr仓库中巳有该货物d 件nH,p-data.count); p-data.count=p-data.count+count;printf(-添加成功!仓库中现有该货物data.count);yn=Yn();if(yn=y | |yn=,Y,) return 1; if(yn=,n, | |yn=,N,) retur
8、n 0;if (str cmp (p - data. no, no)=0&strcmp(,name)!=O)prints该货物的名称输入有误,应为%sn请重新输入(y)或取消存货(n):M,);yn=Yn();if(yn=ry| |yn=,Y,) return 1; if(yn=,n, | |yn=,N,) return 0;if (str cmp (p - data. no, no)!=0&strcmp(,name)=O)prints该货物的编号输入有误,应为%sn请重新输入(y)或取消存货(n):M,p- data.no)
9、;yn=Yn();if(yn=y | |yn=,Y,) return 1; if(yn=,n,| |yn=,N,) return 0;real=p; p=p-next;if(p=NULL)Node *s=new Node; strcpy(s- data. no, no); strcpy(,name); s-data.count=count;s-next=NULL;real-next=s;real=s;printfC1添加成功!仓库中现有该货物d件n是否继续存货?(y/n):M, real-data. count);yn=Yn();if(yn=y | |yn=,Y,) re
10、turn 1;if(yn=n| |yn=N) return 0;return 0;Node * Link:Search()char ab;char no10,name30);int f;p=first;printf(H=nM);printf( a.按货物编号查询n);print” b.按货物名称査询n);printf(H=nM);printf(请选择(a/b):”);f=l;while(f=l)cinab;if(ab=,a,| |ab= A, | |ab=,b,| |ab=,B,)f=0;if(ab=,a,| |ab=,A,)printf( n请输入货物编号(10个字符内):n“); strc
11、py(no,No();while(p &strcmp(p-data.no,no)!=0)p=p-next;if(ab=,b, | | ab=B)printf(n请输入货物名称(30个字符内):); cinname;while(p &strcmp(,name)!=O)p=p-next; elsef=l;printf(”输入有误,谙重新输入(a/b): 1;return p;void Link:Delete()Node *q,*p;int count,t;char yn;p=Search();if(p=NULL)printfC仓库中没有该货物! n);elseprintf(H
12、n 仓库中有该货物 d 件。,p-data.count);int flag= 1;while(flag=l)printf(n请输入要取出的货物数量(整数):”); t=l;while(t=l)cincount;H(countp-data.count)printf(n输入的取货数量超过库存,是否要重新输入取货数量?(y/n):);yn=Yn();H(yn=y | |yn=,Y,) flag=l;if(yn=,n*| |yn=,N,) flag=O;elseflag=O;if(countdata.count)p-data.count=p-data.count-count;FprintfO;/修改文
13、件里的数据。printf(n取货成功!仓库中还有该货物d件n,p-data.count);printf(n是否继续取出该货物?(y/n):);yn=Yn();if(yn=y | | yn=Y)flag=l;if(yn=h| |yn=N)flag=O;elseq=first;wiiile(q!=NULL&q-next!=p)q=q-next;q-next=p-next;delete p;FprintfO;/将单链表里的数据写入文件。printfC*n取货成功!该货物巳被全部取出! 川);void Link:show()if (first-next=NU LL)printf(仓库内没有货物! ”)
14、;elseprintf(货物编号货物名称货物数量n”);printf(unp);p=first-next; while(p)printf(H%15s%23s%23dnn,p-data.no,,p-data.count);p=p-next;printf(MiT);char Link:Yn()int f= 1;char yn;while(f=l)cinyn;if(yn=y| |yn=Y| |yn=h | |yn=N)f=0;return yn;elsef=l;printfC*输入有误,请重新输入(y/n):char * Link:No()int t=l,i;char *no=NULL,no 1 10|;while(t)t=0;cinnol;no=nol;for(i=0;noi;i+)if(noi,9,)t=l;printfC*货物编号只能由09的字符组成,请重新输入货物编号(10个字符内);break;return nol;void Link:Fprintf()FILE 忙NULL;fp=fopen(*d: fileO l.txf/V);p=first-next;wliUe(p!=NULL) fprintf(fp,H%10s%30s%10dn,p-data.no,p-dat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年混合现实(MR)技术在中学生物教学中的应用
- 2026年发电企业降本增效典型案例
- 7《包身工》同步练习 统编版高中语文选择性必修中册
- 肿瘤基础知识
- 夫妻闹离婚房产分割协议书
- 学校高级财务管理平台薪酬录入系统的操作流程说明杭州师范模板
- 涵洞测量施工方案(3篇)
- 陡坡基坑施工方案(3篇)
- 湖北夜游活动策划方案(3篇)
- 节气活动主题方案策划(3篇)
- 爆炸物品知识培训课件
- 生物医药发展新质生产力
- 药品包装更改管理办法
- 焊接工艺卡标准模板
- 基于STM32的智能物流柜设计与实现
- 警察疾病健康知识讲座
- 2025年中药养护培训试题及答案
- 注册类证书管理办法
- AGV系统操作规程
- 肋骨骨折的护理查房
- 动设备培训课件
评论
0/150
提交评论