数据结构课程设计文具店的货品管理

上传人:仙*** 文档编号:31703208 上传时间:2021-10-12 格式:DOC 页数:15 大小:263.01KB
收藏 版权申诉 举报 下载
数据结构课程设计文具店的货品管理_第1页
第1页 / 共15页
数据结构课程设计文具店的货品管理_第2页
第2页 / 共15页
数据结构课程设计文具店的货品管理_第3页
第3页 / 共15页
资源描述:

《数据结构课程设计文具店的货品管理》由会员分享,可在线阅读,更多相关《数据结构课程设计文具店的货品管理(15页珍藏版)》请在装配图网上搜索。

1、数据结构课程设计报告设计题目:文具店的货品管理 专 业 软件工程 班 级 二 班 学 生 黄 淼 学 号 E20814028 2009-20109年 第 2 学期 一、设计目的1、能根据实际问题的具体情况,结合数据结构课程中的基本理论和基本算法,分析并正确确定数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。2、提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。3、初步掌握软件开发过程中问题分析、系统设计、程序编码、测试等基本方法和技能。4、训练用系统的观点和软件开发一般规范进行软件开发,培养

2、软件工作者所应具备的科学的工作方法和作风。5、培养根据选题需要选择学习书籍,查阅文献资料的自学能力。二、设计内容文具店的货品管理在文具店的日常管理经营过程中,存在对各种文具管理问题。当库存文具不足或缺货时,需要进货。日常销售时,需要出库。当盘点货物时,需要查询货物的信息。请根据这些要求编写软件完成库存文具的管理功能。文具信息可以用表1和表2来表示。表1 文具名称文具类别文具数量钢笔1400日记本22000计算器350 表2文具类别号文具类别名1文具2纸张3工具三、源程序#include#include#include#include#include#define ERROR 0#define

3、OK 1#define OVERFLOW 0typedef structchar name10;char lb10;int count;datatype;typedef struct nodedatatype name;struct node *next;listnode,*linklist;int menu_select();int linklist_init(linklist &head);int linklist_create(linklist &head);int linklist_insert(linklist &head);int linklist_find(linklist he

4、ad);int linklist_delete(linklist &head);int linklist_print(linklist head);int menu_select()int sn;printf(n 文具店商品管理 n);printf(=n);printf( 1.商店商品的初始状态 n);printf( 2.商品的存入 n);printf( 3.商品的查询 n);printf( 4.商品的卖出 n);printf( 5.商品的输出检索 n);printf( 6.退出管理系统 n);printf(n=n);printf(选择1-6:);for(;)scanf(%d,&sn);if(

5、sn6)printf(输入错误,从新选择(1-6):);elsebreak;return sn;int linklist_init(linklist &head) /初始化head=(linklist)malloc(sizeof(listnode);if(!head)exit(OVERFLOW);head-next=NULL;return OK;int linklist_create(linklist &head) /商品的创建linklist p,rear;int flag=0;rear=head;while(flag=0)p=(linklist)malloc(sizeof(listnode

6、);printf(n商店初始商品文具名称:);cinp-name.name;printf(n初始文具数量:);cinp-name.count;printf(n初始文具类别:);cinp-name.lb;p-next=NULL;rear-next=p;rear=p;printf(结束初始化吗?(1/0):);scanf(%d,&flag);rear-next=NULL;return OK;int linklist_insert(linklist &head) /向商店存货(存入文具)linklist p,p1,p2;p2=head;p2=p2-next;p=(linklist)malloc(si

7、zeof(listnode);printf(输入要存货的文具名称:);cinp-name.name;printf(n存货的文具数量:);cinp-name.count;printf(n存货的文具类别:);cinp-name.lb;while(p2!=NULL) if(strcmp(p2-name.name,p-name.name)=0) p2-name.count+=p-name.count;printf(n存货成功!);return OK;elsep1=p2;p2=p2-next;if(p2=NULL)p1-next=p;p-next=NULL;printf(n存货成功!);return E

8、RROR;int linklist_delete(linklist &head) /商店卖出文具linklist p,t;t=head;t=t-next;p=(linklist)malloc(sizeof(listnode);printf(卖出商品的文具名称:);cinp-name.name;printf(n想卖出多少件:);cinp-name.count;while(t!=NULL) if(strcmp(t-name.name,p-name.name)=0)if(t-name.count=0)printf(n此类商品已经销售完。);return ERROR;else if(t-name.co

9、untname.count) printf(n现存商品容量不足,无法卖出。);return ERROR; else t-name.count-=p-name.count; printf(n此类文具卖出成功!); return OK;elset=t-next;if(t=NULL)printf(n商店没有此类文具。);return ERROR;int linklist_print(linklist head) /输出linklist p1;p1=head;p1=p1-next;printf(文具名称 文具类别 文具数量n);while(p1!=NULL)printf(%4st%14st%20d,p

10、1-name.name,p1-name.lb,p1-name.count);p1=p1-next;printf(n);return OK;int linklist_find(linklist head) /查找linklist p,p1,p2;p1=p2=head;p2=p2-next;p=(linklist)malloc(sizeof(listnode);printf(n输入要查找的文具名称:);cinp-name.name;while(p2!=NULL)if(strcmp(p2-name.name,p-name.name)=0)printf(n查找成功,输出如下:n);printf(文具名

11、称 文具类别 文具数量n);printf(%4st%14st%20d,p2-name.name,p2-name.lb,p2-name.count);return OK;elsep2=p2-next;printf(n查找不成功!);return ERROR;void main()linklist head;linklist_init(head);for(;)switch(menu_select() case 1: /创建linklist_create(head);break;case 2: /存货linklist_insert(head);break; case 3: /查询文具linklist

12、_find(head);break;case 4: /卖出文具linklist_delete(head);break;case 5: /检索文具linklist_print(head); break;case 6:printf(n谢谢光临,欢迎回顾!n);break;四、 调试分析调试的过程中,对程序做了几点改进,增加了程序的容错能力,不论用户输入什么内容,程序都能安全检查。五、 测试结果进入演示程序后,即显示主界面为:根据提示,用户输入选项:1、 进入商店商品的初始化状态输入表1和表2信息其中:结束初始化吗? (1/0) 选择 0 代表不结束,即继续输入商品信息,选择1 代表,商品信息输入结

13、束.2、 商品的存入(例:文具店需进 钢笔 300 , 橡皮 200 ) 3、商品的查询 (查询一种商品的信息, 这里以钢笔为例)初始化时,钢笔 400 ; 后进货, 钢笔 300; 文具店现有存货为:钢笔 700; 4、商品的卖出以钢笔为例: 钢笔现存 700; 要卖出 200剩余 钢笔 5005、商品的输出检索可以查看现库存商品的信息6、退出管理系统六、课程设计小结: 通过这次课程设计,对程序设计和调试的能力有很大的提升。这次课程设计使我深刻认识到自己专业知识的匮乏,缺乏独立程序设计的能力。通过这次的课程设计也是我认识到了我在程序设计方面的严重不足,以及专业知识的严重匮乏。我的程序设计思想和代码的编写和调试能力在此次课设期间有所提高。这样一种更贴切实际的课程设计,大大的提高了我的学习效率,希望能够在平时教学的时候也能加入一些类似课程设计的程序设计习题

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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