ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:41.22KB ,
资源ID:6604158      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6604158.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程设计仓库管理系统源程序.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计仓库管理系统源程序.docx

1、数据结构课程设计仓库管理系统源程序#in cludeusing n amespace std;typedef structchar no10;char n ame30;int count;DataType;struct NodeDataType data;Node *n ext;class Linkpublic:Link(); /构造函数,建立单链表intlnsert(); /插入节点,即添加货物Node * Search。; /查找某个节点void Delete(); /删除节点或更改节点的数据 void show(); /输出节点信息 char Yn(); / 输入(y/n )函数char

2、 * No(); /输入货物编号函数void Fprintf(); /将单链表数据写到文件中void Fscanf(); /读取文件中的数据private:Node *first,*real,*p,*q;int mai n()int t=1,flag=1,f=1;char n;Node * p;Li nk Ku;while(t)prin tf(nnnnn);printf(nttt*);prin tf(nttt*XXX仓库管理系统*prin tf(nttt*1-存储货物*);prin tf(nttt*2-查询货物信息*);prin tf(nttt*3-取出货物*);prin tf(nttt*4

3、显示仓库所有货物信息*);prin tf(nttt*0-退出仓库管理系统*);printf(nttt*);prin tf(nttt请选择菜单号(0-4):);f=1;while(f=1)cinn;if(n4)printf(”输入有误,请重新输入(0-4):); f=1;elsef=0;prin tf(nn ”);switch( n)case 1:prin tf(* n);prin tf(* n);/printf( i*n);int a=1; while(a=1) a=K u.ln sert();Ku.Fpri ntf(); 将单链表里的数据写入文件。break;case 2:flag=1; c

4、har yn;while(flag=1)p=Ku.Search(); if(p)printf(n 货物编号货物名称货物数量n);n);printf(”prin tf(%5s%9s%8dn,p-data .no ,p-data .n ame,p-data.co un t); printf( n);elseprintf(仓库中没有该货物! n);printf(是否继续查询? (y/n):);yn=Ku.Y n();if(y n=y|y n=Y)flag=1;if(y n= n|y n=N)flag=0;break;case 3:flag=1;char yn; while(flag=1) Ku.De

5、lete();printf(是否继续取货? (y/n):);yn=Ku.Yn(); 调用输入 y/n函数 if(y n=y|y n=Y)flag=1;if(y n= n|y n=N)flag=0;break;case 4:Ku.show();break;case O:char yn;printf(”确定退出仓库管理系统吗? (y/n):”);yn=Ku.Yn(); 调用输入 y/n函数if(y n=y|y n=Y)printf(谢谢使用.n);t=0;if(y n= n|y n=N)t=1;break;return 0;Li nk:Li nk()first =new Node;first- n

6、 ext=NULL;real=first;FILE *fp=NULL;fp=fope n( d:fileO1.txt,a);fclose(fp);/Fpri ntf();Fsca nf();int Lin k:I nsert()char yn;char no10, name30;int coun t,t;n);printf(n 货物编号 货物名称(30) 货物数量printf( n);printf(n 请输入货物编号(10个字符以):n);strcpy( no,No();printf(n 输入货物名称(30个字符以):n);cinn ame;t=1;while(t)printf(”输入货物数量

7、(整数):);是否继续存货?(y)或取消存货(n):(y)或取消存货(n):cin co unt;if(co un tn ext;while(p)if(strcmp(p-data .no,no)=0&strcmp(p-data .n ame ,n ame)=0)printf(仓库中已有该货物 %d 件n”,p-data.count); p-data.co un t=p-data.co un t+co unt;printf(添加成功!仓库中现有该货物%d件n(y/n):,p_data.co un t);yn=Y n();if(yn=y| yn=Y) retur n 1;if(yn=n|yn=N)

8、 return 0;if(strcmp(p-data .no,no)=0&strcmp(p-data .n ame ,n ame)!=0)printf(该货物的名称输入有误,应为 %sn请重新输入,p-data .n ame);yn=Y n();if(yn=y| yn=Y) retur n 1;if(yn=n|yn=N) return 0;if(strcmp(p-data .no,no )!=0&strcmp(p-data .n ame ,n ame)=0)printf(该货物的编号输入有误,应为 %sn请重新输入,p-data .no);yn=Y n();if(yn=y| yn=Y) ret

9、ur n 1;if(yn=n|yn=N) return 0;real=p;p=p-n ext;if(p=NULL)Node *s=new Node;strcpy(s-data .no,no);strcpy(s-data .n ame ,n ame);s-data.co un t=co unt;s- next=NULL;real-n ext=s;real=s;prin tf(添加成功!仓库中现有该货物%d件n 是否继续存货?(y/n):,real-data.co un t);yn=Y n();if(yn=y| yn=Y) retur n 1;if(yn=n|yn=N) return 0;retu

10、rn 0;Node * Lin k:Search()char ab;char no10, name30;int f;p=first;prin tf(=n);printf( a.按货物编号查询 n);printf( b.按货物名称查询 n);prin tf(=n);printf( 请选择(a/b):);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-n ext;i

11、f(ab=b|ab=B)printf(n 请输入货物名称(30个字符):”);cinn ame;while(p&strcmp(p-data .n ame ,n ame)!=0) p=p-n ext;elsef=1;printf(输入有误,请重新输入 (a/b):);return p;void Lin k:Delete()Node *q,*p;int coun t,t;char yn;p=Search();if(p=NULL)printf(仓库中没有该货物! n);elseprintf(n 仓库中有该货物 %d 件。”,p-data.count);int flag=1;while(flag=1)

12、printf(n 请输入要取出的货物数量 (整数):);t=1;while(t=1)cin co unt;if(cou ntp-data.co unt)prin tf(n 输入的取货数量超过库存,是否要重新输入取货数量? (y/n):);yn=Y n();if(yn=y|yn=Y) flag=1;if(yn=n|yn=N) flag=0;elseflag=0;if(co un tdata.co unt)p-data.co un t=p-data.co un t-co unt;Fpri ntf();/修改文件里的数据。printf(n 取货成功!仓库中还有该货物 %d件n,p-data.coun

13、t);prin tf(n 是否继续取出该货物? (y/n):”);yn=Y n();if(y n=y|y n=Y)flag=1;if(y n= n|y n=N)flag=0;elseq=first;while(q!=NULL&q- next!=p)q=q_n ext;q_n ext=p-n ext;delete p;Fpri ntf();/将单链表里的数据写入文件。prin tf(n 取货成功!该货物已被全部取出! n ”);void Lin k:show()if(first- n ext=NULL)printf(仓库没有货物! ”);elseprin tf(” 货物编号 货物名称 货物数量n

14、);printf(” n);p=first- n ext;while(p)prin tf(%15s%23s%23dn,p-data .n o,p-data. name,p-data.cou nt); p=p-n ext;printf(” n);char Lin k: Yn()int f=1;char yn;while(f=1)cinyn;if(y n=y|y n=Y|y n= n|y n=N)f=0;return yn;elsef=1;printf(输入有误,请重新输入 (y/n):);char * Lin k:No()int t=1,i;char *n o=NULL, no110;while

15、(t)t=0;cinn o1;no=no1;for(i=0; noi;i+) if(no i9)t=1;printf(货物编号只能由 0-9的字符组成,请重新输入货物编号 (10个字符):”);break;return n o1;void Lin k:Fpri ntf()FILE *fp=NULL;fp=fope n( d:file01.txt,w);p=first-n ext;while(p!=NULL)fprin tf(fp,%10s%30s%10dn,p-data .n o,p-data. name,p-data.cou nt);p=p-n ext;fclose(fp);void Lin k:Fsca nf()FILE *fp=NULL;p=first;Node *s;fp=fope n( d:file01.txt,r);if(fp=NULL)cout不能打开文件! data .no ,s-data .n ame, &s-data.co un t);if(s-data.co un t0)p-n ext=s;p=s;p- next=NULL; fclose(fp);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2