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

上传人:mg****2 文档编号:121900719 上传时间:2020-02-27 格式:DOC 页数:20 大小:45.50KB
返回 下载 相关 举报
数据结构课程设计——仓库管理系统源程序_第1页
第1页 / 共20页
数据结构课程设计——仓库管理系统源程序_第2页
第2页 / 共20页
数据结构课程设计——仓库管理系统源程序_第3页
第3页 / 共20页
数据结构课程设计——仓库管理系统源程序_第4页
第4页 / 共20页
数据结构课程设计——仓库管理系统源程序_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《数据结构课程设计——仓库管理系统源程序》由会员分享,可在线阅读,更多相关《数据结构课程设计——仓库管理系统源程序(20页珍藏版)》请在金锄头文库上搜索。

1、 .#includeusing 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 * No(); /输入货物编号函数voi

2、d 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* XXX仓库管理系统*); printf(nttt* 1- 存储货物 *); printf(nttt* 2- 查询货物信息 *); printf(nttt* 3- 取出货物 *); printf(nttt* 4- 显示仓库内所有货物信

3、息 *); printf(nttt* 0- 退出仓库管理系统 *); printf(nttt*); printf(nttt请选择菜单号(0-4):);f=1;while(f=1)cinn;if(n4)printf(输入有误,请重新输入(0-4):);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();/将单链表里的数据写入文件

4、。break;case 2:printf(*n);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-data.name,p-data.count);printf(-n);elseprintf(仓库中没有该货物!n);printf(是否继续查询?(y/n):);yn=Ku.Yn();if(yn=y|yn=Y)flag=1;if(yn=n|yn=N)flag=0

5、;break;case 3:printf(*n);printf(* 取出货物 *n);printf(*n);flag=1;char yn;while(flag=1)Ku.Delete();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)printf(谢谢使用.n);t=0

6、;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()char yn;char no10,name30;int count,t;printf(n 货物编号 货物名称(30) 货物数量(5) n);printf(-n);printf(n请输入货物编号(10个字符以内):n);strcpy(no,No();p

7、rintf(n输入货物名称(30个字符以内):n);cinname;t=1;while(t)printf(输入货物数量(整数): );cincount;if(countnext;while(p)if(strcmp(p-data.no,no)=0&strcmp(p-data.name,name)=0)/printf(仓库中已有该货物%d件n,p-data.count);p-data.count=p-data.count+count;printf(添加成功!仓库中现有该货物%d件n是否继续存货?(y/n):,p-data.count);yn=Yn();if(yn=y|yn=Y) return 1;

8、if(yn=n|yn=N) return 0;if(strcmp(p-data.no,no)=0&strcmp(p-data.name,name)!=0)printf(该货物的名称输入有误,应为 %sn请重新输入(y)或取消存货(n): ,p-data.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-data.name,name)=0)printf(该货物的编号输入有误,应为 %sn请重新输入(y)或取消存货(n): ,p-data.no);yn=Yn

9、();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(s-data.name,name);s-data.count=count;s-next=NULL;real-next=s;real=s;printf(添加成功!仓库中现有该货物%d件n是否继续存货?(y/n):,real-data.count);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);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号