数据结构课程设计《商店管理系统》(共17页).doc

上传人:飞****2 文档编号:16726886 上传时间:2022-05-18 格式:DOC 页数:17 大小:618.50KB
返回 下载 相关 举报
数据结构课程设计《商店管理系统》(共17页).doc_第1页
第1页 / 共17页
数据结构课程设计《商店管理系统》(共17页).doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《数据结构课程设计《商店管理系统》(共17页).doc》由会员分享,可在线阅读,更多相关《数据结构课程设计《商店管理系统》(共17页).doc(17页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上浙江农林大学程序设计综合实习报告设计题目: 商店管理系统专 业 电子信息类 班 级 095 姓 名 陈晓艳 学 号 7 起止时间 2010.7.5-2010.7.10 20092010 学年 第 三 学期目 录第一章 需求分析3第二章 概要设计3第三章 详细分析4第四章 运行结果分析11第五章 参考文献17一、需求分析在日常生活中,商店里所存商品成千上万,若没有一个方便快捷的系统来对商品进行有效的管理,我们就会花费很多的人力物力和时间。商店管理系统这一课题,是通过运用数据结构知识中线性表的存储结构和查找,插入,删除等基本运算,来实现对商店的商品简单管理,完成对商品的添

2、加,进货,卖出,查看,删除等基本操作。同时,通过对这个课题的完成,让大家更好地理解与运用所学知识,提高动手能力,提高编程能力和专业水平,更加增强了同学间的合作组织能力。二、概要设计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、程序模块:该程序有九个模块:主函数、链表存储结构、添加新商品函数、添加已有商品数量函数、查询商品函数、删除商品函数、卖出

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-data.name,computer);H-data.data=;H-data

4、.mount=1000;H-data.num=1;H-data.price=20000;H-next=NULL;LinkList L;L=Creat_LinkList( );strcpy(L-data.name,car);L-data.data=;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_LinkLis

5、t(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

6、(请输入需要查找的商品名称:n);scanf(%s,name);while(p)if(!strcmp(p-data.name,name)printf(查找成功!n);printf(商品名称%sn商品数量%dn商品单价%fn入库日期%ldn商品编码%ldn,p-data.name,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)i

7、f(p-data.num=num)printf(查找成功!n);printf(商品名称%sn商品数量%dn商品单价%fn入库日期%ldn商品编码%ldn,p-data.name,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);scan

8、f(%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;c

9、har 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(

10、q-data.name,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

11、,&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)

12、/在库中查找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( 商品

13、名称 商品数量 商品价格 入库日期 商品编码n);while(p)printf(%20s %10d %10.2f %10ld %10ldn,p-data.name,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、

14、卖出商品 |n);printf(| 6、查看库存 |n);printf(| 0、退出 |n);printf(=n);printf(请输入功能选项:);四、运行结果分析运行后,进入主界面添加新商品输入1,进入后,按提示输入新商品各项信息后,显示新商品添加成功继续添加按1,退出按0返回主界面添加已有商品输入2,输入需添加的商品编码和数量,添加成功后,会显示该商品现有数量继续添加按1,退出按0返回主界面查询商品信息输入3按商品名称查询输入1,按商品编码查询输入2,退出输入0然后分别按提示输入商品信息,查找成功后,显示出该商品相应的信息返回主界面若所查商品不存在,显示查找失败卖出商品输入5,输入要卖的

15、商品的编码和数量成功后,显示该商品剩余数量按1继续卖出,按0退出若所卖商品库中没有,显示库中没有该商品若卖出的商品数大于库存数,存货全部卖出,并提示存货不足查看库存输入6,屏幕显示出所有商品的各项信息然后返回主界面删除商品信息输入4,输入要删除的商品的编码显示删除成功继续删除按1,退出按0若需要删除的商品库中没有,显示没有要删除的商品退出主界面输入0,系统运行结束五、参考文献1 严蔚敏 吴伟民 数据结构(C语言版) 清华大学出版社2 数据结构题集 严蔚敏 清华大学出版社3 徐孝凯 数据结构课程实验 清华大学出版社4 数据结构、算法与应用 Sartaj Sahni 械工业出版社5 杨路明 C语言程序设计教程 北京邮电大学出版社专心-专注-专业

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com