


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、WORD格式#include<iostream>using namespace std;typedef structchar no10;char name30;int count;DataType;struct NodeDataType data;Node *next;class Linkpublic:Link(); / 构造函数,建立单链表int Insert();/ 插入节点,即添加货物Node * Search();/ 查找某个节点void Delete();/ 删除节点或更改节点的数据void show();/ 输出节点信息char Yn();/ 输入 y/n 函数char
2、 * No();/ 输入货物编号函数void Fprintf();/ 将单链表数据写到文件中void Fscanf();/ 读取文件中的数据private:Node *first,*real,*p,*q;int main()int t=1,flag=1,f=1;char n;Node * p;Link Ku;while(t)printf("nnnnn");printf("nttt*");printf("nttt*X仓库管理系统*");printf("nttt*1-存储货物*");printf("nttt*
3、2-查询货物信息*");printf("nttt*3-取出货物*");printf("nttt*4-显示仓库内所有货物信息*");printf("nttt*0-退出仓库管理系统*");printf("nttt*");printf("nttt请选择菜单号 (0-4):");f=1;专业资料整理WORD格式while(f=1)cin>>n;if(n<'0'|n>'4')printf(" 输入有误,请重新输入(0-4): &q
4、uot;);f=1;elsef=0;printf("nn");switch(n)case '1':printf("*n");printf("*存储货物*n");printf("*n");/printf("货物编号货物名称货物数量n");/printf("*n");int a=1;while(a=1)a=Ku.Insert();Ku.Fprintf();/ 将单链表里的数据写入文件。break;case '2':printf("*n&q
5、uot;);printf("*查询货物信息*n");printf("*n");flag=1;char yn;while(flag=1)p=Ku.Search();if(p)printf("n货物编号货物名称货物数量n");printf("-n");printf("%5s%9s%8dn",p->data.no,p->,p->data.count);专业资料整理WORD格式printf("-n");elseprintf(" 仓库中没有
6、该货物!n");printf(" 是否继续查询?(y/n):");yn=Ku.Yn();if(yn='y'|yn='Y')flag=1;if(yn='n'|yn='N')flag=0;break;case '3':printf("*n");专业资料整理WORD格式printf("*取出货物*n");专业资料整理WORD格式printf("*n");flag=1;char yn;while(flag=1)Ku.Delete();
7、printf(" 是否继续取货?(y/n):");yn=Ku.Yn();/调用输入y/n 函数if(yn='y'|yn='Y')flag=1;if(yn='n'|yn='N')flag=0;break;case '4':Ku.show();break;case '0':char yn;printf(" 确定退出仓库管理系统吗?(y/n):");yn=Ku.Yn();/调用输入 y/n 函数if(yn='y'|yn='Y')专业资
8、料整理WORD格式printf(" 谢谢使用 .n");t=0;if(yn='n'|yn='N')t=1;break;return 0;Link:Link()first=new Node;first->next=NULL;real=first;FILE *fp=NULL;fp=fopen("d:file01.txt","a");fclose(fp);/Fprintf();Fscanf();int Link:Insert()专业资料整理WORD格式char yn;char no10,name30;i
9、nt count,t;printf("n货物编号货物名称(30)货物数量printf("-n");printf("n请输入货物编号(10 个字符以内 ):n");strcpy(no,No();(5)n");专业资料整理WORD格式printf("n输入货物名称(30 个字符以内):n");专业资料整理WORD格式cin>>name;t=1;while(t)printf(" 输入货物数量(整数 ): ");cin>>count;if(count<=0)t=1;prin
10、tf(" 货物数量必须大于0,请重新 ");专业资料整理WORD格式elset=0;p=first;real=first;p=p->next;while(p)if(strcmp(p->data.no,no)=0&&strcmp(p->,name)=0)/printf(" 仓库中已有该货物%d 件n",p->data.count);p->data.count=p->data.count+count;printf(" 添 加 成 功 ! 仓 库 中 现 有 该 货 物 %d 件
11、n 是 否 继 续 存 货 ? (y/n):",p->data.count);yn=Yn();if(yn='y'|yn='Y') return 1;if(yn='n'|yn='N') return 0;if(strcmp(p->data.no,no)=0&&strcmp(p->,name)!=0)专业资料整理WORD格式printf("该货物的名称输入有误,应为%sn请重新输入(y)或取消存货(n):专业资料整理WORD格式",p->data.
12、name);yn=Yn();if(yn='y'|yn='Y') return 1;if(yn='n'|yn='N') return 0;if(strcmp(p->data.no,no)!=0&&strcmp(p->,name)=0)printf(" 该货物的编号输入有误,应为%sn 请重新输入(y)或取消存货(n):",p->data.no);yn=Yn();if(yn='y'|yn='Y') return 1;if(yn=
13、39;n'|yn='N') return 0;real=p;p=p->next;if(p=NULL)Node *s=new Node;strcpy(s->data.no,no);strcpy(s->,name);s->data.count=count;专业资料整理WORD格式s->next=NULL;real->next=s;real=s;printf(" 添 加 成 功 ! 仓 库 中 现 有 该 货 物 %d 件 n 是 否 继 续 存 货 ? (y/n):",real->data.co
14、unt);yn=Yn();if(yn='y'|yn='Y') return 1;if(yn='n'|yn='N') return 0;return 0;Node * Link:Search()char ab;char no10,name30;int f;p=first;printf("=n");printf("a. 按货物编号查询n");printf("b. 按货物名称查询n");printf("=n");printf("请选择 (a/b)
15、: ");f=1;while(f=1)cin>>ab;if(ab='a'|ab='A'|ab='b'|ab='B')f=0;if(ab='a'|ab='A')printf("n请输入货物编号(10 个字符内 ):n");strcpy(no,No();while(p&&strcmp(p->data.no,no)!=0)p=p->next;if(ab='b'|ab='B')printf("n请
16、输入货物名称(30 个字符内 ): ");cin>>name;while(p&&strcmp(p->,name)!=0)p=p->next;专业资料整理WORD格式elsef=1;printf(" 输入有误,请重新输入(a/b) : ");return p;void Link:Delete()Node *q,*p;int count,t;char yn;p=Search();if(p=NULL)printf(" 仓库中没有该货物!n");else专业资料整理WORD格式printf(&q
17、uot;n仓库中有该货物int flag=1;while(flag=1)%d 件。 ",p->data.count);专业资料整理WORD格式printf("n请输入要取出的货物数量t=1;while(t=1)(整数 ):");专业资料整理WORD格式cin>>count;if(count<0)t=1;专业资料整理WORD格式printf("取货数量不能为负数,请重新输入取货数量(整数 ): ");专业资料整理WORD格式elset=0;if(count>p->data.count)专业资料整理WORD格式p
18、rintf("n输入的取货数量超过库存,是否要重新输入取货数量?yn=Yn();if(yn='y'|yn='Y') flag=1;if(yn='n'|yn='N') flag=0;(y/n):");专业资料整理WORD格式专业资料整理WORD格式elseflag=0;if(count<p->data.count)p->data.count=p->data.count-count;Fprintf();/ 修改文件里的数据。printf("n 取货成功!仓库中还有该货物 %d 件n
19、",p->data.count); printf("n 是否继续取出该货物? (y/n):"); yn=Yn();if(yn='y'|yn='Y')flag=1;if(yn='n'|yn='N')flag=0;elseq=first;while(q!=NULL&&q->next!=p)q=q->next;q->next=p->next;delete p;Fprintf();/ 将单链表里的数据写入文件。printf("n取货成功!该货物已被全部取
20、出!n");void Link:show()if(first->next=NULL)printf(" 仓库内没有货物!");elseprintf("货物编号货物名称货物数量n");printf("-n");p=first->next;while(p)printf("%15s%23s%23dn",p->data.no,p->,p->data.count); p=p->next;printf("-n");专业资料整理WORD格式char Link:Yn()int f=1;char yn;while(f=1)cin>>yn;if(yn='y'|yn='Y'|yn='n'|yn='N')f=0;return yn;elsef=1;专业资料整理WORD格式printf("输入有误,请重新输入(y/n) : ");专业资料整理WORD格式char * Link:No()int t=1,i;char *no=NULL,no110;while(t)t=0;cin>>no1;no=no1;for(i=0;noi;i+)if(no
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公寓式酒店项目效益评估报告
- 电力行业节能工作职责及其实施
- 小学音乐五年级上册教学计划优化
- 食品药品监管政策分析实习报告范文
- 抖音账号运营权分割及多渠道推广合作协议
- 离婚协议中共同债务处理补充条款协议
- 生物医药研究员项目研发与成果转化合作协议
- 高校实验室疫情防控常态化措施
- STEAM教育对学生综合素养提升的心得体会
- 建筑幕墙耐候性能检测与材料选择指导协议
- DB43-T 2927-2024 中医护理门诊建设与管理规范
- 《额定电压1kV(Um=1.2kV)到35kV(Um=40.5 kV) 铝合金芯挤包绝缘电力电缆第2部分:额定电压1 kV (Um=1.2 kV)和3 kV (Um=3.6 kV)电缆》
- 走进现代舞智慧树知到期末考试答案章节答案2024年浙江大学
- HIV-1病毒载量测定及质量保证指南
- 围手术期血糖管理指南
- GB/T 45007-2024职业健康安全管理体系小型组织实施GB/T 45001-2020指南
- 刘强东创业故事
- 智慧农业中的农业无人机技术与应用
- 2023年马克思主义原理考试知识点汇总
- 智慧监狱智能管控解决方案
- 凤凰实验中学校服供应商评价和退出机制
评论
0/150
提交评论