数据结构课程设计《商店管理系统》.doc_第1页
数据结构课程设计《商店管理系统》.doc_第2页
数据结构课程设计《商店管理系统》.doc_第3页
数据结构课程设计《商店管理系统》.doc_第4页
数据结构课程设计《商店管理系统》.doc_第5页
免费预览已结束,剩余12页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江农林大学程序设计综合实习报告设计题目: 商店管理系统专 业 电子信息类 班 级 095 姓 名 陈晓艳 学 号 200905070507 起止时间 2010.7.5-2010.7.10 20092010 学年 第 三 学期目 录第一章 需求分析3第二章 概要设计3第三章 详细分析4第四章 运行结果分析11第五章 参考文献17一、需求分析在日常生活中,商店里所存商品成千上万,若没有一个方便快捷的系统来对商品进行有效的管理,我们就会花费很多的人力物力和时间。商店管理系统这一课题,是通过运用数据结构知识中线性表的存储结构和查找,插入,删除等基本运算,来实现对商店的商品简单管理,完成对商品的添加,进货,卖出,查看,删除等基本操作。同时,通过对这个课题的完成,让大家更好地理解与运用所学知识,提高动手能力,提高编程能力和专业水平,更加增强了同学间的合作组织能力。二、概要设计1、抽象数据类型定义 因程序中有大量的插入、删除,所以用线性表的链表存储结构来实现,ADT List数据对象:D=ai|aiElemSet,i=1,2,n,n0数据关系:R1=|ai-1,aiD,i=2,n2、主程序void main()switch()Case 1:Case 2:Case 3:3、程序模块:该程序有九个模块:主函数、链表存储结构、添加新商品函数、添加已有商品数量函数、查询商品函数、删除商品函数、卖出商品函数、查看库存函数,页面函数三、详细分析1、存储结构typedef structchar name25; / 商品名称int mount; /商品数量float price; /商品单价long data; /入库日期long num; /商品编码goods;typedef struct nodegoods data;struct node *next;LNode,*LinkList; 2、主函数void main()int key;LinkList H;H=Creat_LinkList( );strcpy(H-,computer);H-data.data=20100609;H-data.mount=1000;H-data.num=1;H-data.price=20000;H-next=NULL;LinkList L;L=Creat_LinkList( );strcpy(L-,car);L-data.data=20100609;L-data.mount=1000;L-data.num=2;L-data.price=20000;L-next=NULL;H-next=L;while(1)pri();scanf(%d,&key);switch(key)case 0:exit(0);case 1:Insert_LinkList(H);break;case 2:add_LinkList(H);break;case 3:Search(H);break;case 4:H=Del_LinkList(H);break;case 5:Sell(H);break;case 6:Find(H);break;3.、查找函数void Search(LinkList H)/查找商品int n;LinkList p;long num;char name25;p=H;printf(请选择:n);printf(1、按商品名称查询n);printf(2、按商品编码查询n);printf(0、退出n);scanf(%d,&n);switch(n)case 0:exit(0);case 1:printf(请输入需要查找的商品名称:n);scanf(%s,name);while(p)if(!strcmp(,name)printf(查找成功!n);printf(商品名称%sn商品数量%dn商品单价%fn入库日期%ldn商品编码%ldn,,p-data.mount,p-data.price,p-data.data,p-data.num);break;elsep=p-next;if(!p)printf(查找失败,库中不存在此商品!n);break;case 2:printf(请输入需要查找的商品编码:n);scanf(%ld,&num);while(p)if(p-data.num=num)printf(查找成功!n);printf(商品名称%sn商品数量%dn商品单价%fn入库日期%ldn商品编码%ldn,,p-data.mount,p-data.price,p-data.data,p-data.num);break;elsep=p-next ;if(!p)printf(查找失败,库中不存在此商品!n);break;4、添加商品数量函数void add_LinkList(LinkList H)LinkList p;long num,m;int key;p=H;while(key)printf(请输入商品编码:n);scanf(%ld,&num);while(p)/在库中查找if(p-data.num=num)break;elsep=p-next;if(p)/查到商品printf(请输入添加的商品数量:n);scanf(%d,&m);p-data.mount+=m;printf(现在库存此商品%d件n,p-data.mount);elseprintf(库中没有该商品!n);printf(1.继续添加0.退出n);scanf(%d,&key);5、添加新商品函数int Insert_LinkList(LinkList H)LinkList p,q;int key=1,amount;long anum,adata;char aname25;float aprice;while(key)p=H;q=(LinkList)malloc(sizeof(LNode);if(!q)printf(申请空间失败n);return 0;elseprintf(输入商品名称:n);scanf(%s,aname);printf(输入商品数量:n);scanf(%d,&amount);printf(输入商品单价:n);scanf(%f,&aprice);printf(输入商品入库日期:n);scanf(%ld,&adata);printf(输入商品编码:n);scanf(%ld,&anum);/把新商品信息赋给新结点strcpy(,aname);q-data.data=adata;q-data.mount=amount;q-data.num=anum;q-data.price=aprice;/修改指针q-next=p-next;p-next=q;printf(新商品添加成功!n);printf(1.继续添加商品0.退出n);scanf(%d,&key);return 1;6、删除商品函数LinkList Del_LinkList(LinkList H)LinkList p,q;int key=1;long num;while(key)printf(请输入需要删除的商品编号:n);scanf(%ld,&num);p=H;q=p;p=p-next;while(p)if(p-data.num=num)q-next=p-next;free(p);printf(删除成功!n);break;elseq=p;p=p-next;if(p=NULL)printf(没有你要删除的商品!n);printf(1.继续删除0.退出n);scanf(%d,&key);return H;7、卖出商品函数void Sell(LinkList H) LinkList p;long num,m;int key;p=H;while(key)printf(请输入商品编码:n);scanf(%ld,&num);while(p)/在库中查找if(p-data.num=num)break;elsep=p-next;if(p)/查到商品printf(请输入卖出的商品数量:n);scanf(%d,&m);if(p-data.mount=m)/库中商品数量够出售p-data.mount-=m;printf(此商品库中还有%d件n,p-data.mount);elseprintf(库中该商品存货不足!n);elseprintf(库中没有该商品!n);printf(1.继续卖出0.退出n);scanf(%d,&key);8、查看库存函数void Find(LinkList H) LinkList p;p=H;printf( 商品名称 商品数量 商品价格 入库日期 商品编码n);while(p)printf(%20s %10d %10.2f %10ld %10ldn,,p-data.mount,p-data.price,p-data.data,p-data.num);p=p-next;9、页面函数void pri()printf(=n);printf(| 商店管理系统 |n);printf(=n);printf(| 1、添加新商品 |n); printf(| 2、添加已有商品数量 |n);printf(| 3、查询商品信息 |n);printf(| 4、删除商品信息 |n);printf(| 5、卖出商品 |n);printf(| 6、查看库存 |n);printf(| 0、退出 |n);printf(=n);printf(请输入功能选项:);四、运行结果分析运行后,进入主界面添加新商品输入1,进入后,按提示输入新商品各项信息后,显示新商品添加成功继续添加按1,退出按0返回主界面添加已有商品输入2,输入需添加的商品编码和数量,添加成功后,会显示该商品现有数量继续添加按1,退出按0返回主界面查询商品信息输入3按商品名称查询输入1,按商品编码查询输入2,退出输入0然后分别按提示输入商品信息,查找成功后,显示出该商品相应的信息返回主界面若所查商品不存在,显示查找失败卖出商品输入5,输入要卖的商品的编码和数量成功后,显示该商品剩余数量按1继续卖出,按0退出若所卖商品库中没有,显示库中没有该商品若卖出的商品数大于库存数,存货全部卖出,并提示存货不足查看库存输入6,屏幕显示出所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论