数据结构课程设计--文具店的货品管理doc_第1页
数据结构课程设计--文具店的货品管理doc_第2页
数据结构课程设计--文具店的货品管理doc_第3页
数据结构课程设计--文具店的货品管理doc_第4页
数据结构课程设计--文具店的货品管理doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、数据结构课程设计报告设计题目:文具店的货品管理专 业班 级学 生学 号 E208140282009-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 OK 1#define OV

3、ERFLOW 0typedef struct char name10; char lb10; int count;datatype;typedef struct node datatype 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 head);int

4、linklist_delete(linklist &head); int linklist_print(linklist head);int menu_select()int sn; printf(n xf/n文具店商品管理n);printf(=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(sn6) printf( 输

5、入错误,从新选择 (1-6):); else break;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); prin

6、tf(n 商店初始商品文具名称 :); ;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(s

7、izeof(listnode); printf( 输入要存货的文具名称 :); ; printf(n 存货的文具数量 :); cinp-name.count; printf(n 存货的文具类别 :); cinp-name.lb;while(p2!=NULL) if(strcmp(,)= 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

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

9、完。 );return ERROR;elseif(t-name.countname.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);w

10、hile(p1!=NULL) printf(%4st%14st%20d,,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 输入要查找的文具名称 :);;while(p2!=NULL) if(strcmp(,p-nam

11、)=0) printf(n 查找成功 ,输出如下: n); printf( 文具名称文具类别文具数量 n);printf(%4st%14st%20d,,p2-name.lb,p2-name.count); return OK;else p2=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

12、_insert(head); break;case 3: linklist_find(head); break;case 4:linklist_delete(head); break;case 5:linklist_print(head); break;case 6:printf(n 谢谢光临 ,欢迎回顾! break;/创建/存货/查询文具/卖出文具/检索文具n);四、 调试分析调试的过程中, 对程序做了几点改进,增加了程序的容错能力,不论用户输入什么内容,程 序都能安全检查。五、测试结果进入演示程序后,即显示主界面为:态 始 索初 8 的入询岀出系 品存is笊Btw 店品品品品出 商商商商

13、黒 12 3 4 5 6根据提示,用户输入选项玄具店商品胃理1、进入商店商品的初始化状态态状 始 斎 初 检统 的入询生岀系 品存查盍理的管 店品品品品出 商商商商商退 1-23456输入表1和表2信息其中:结束初始化吗?(1/0)选择0代表不结束,即继续输入商品信息,选择1代表,商品信息 输入结束2、商品的存入(例:文具店需进钢笔300,橡皮 200 )C : DacuAent s and Sett ingsXAdMinist rator面ElDetm至2. qx亡态始初 的入询岀岀条 品存查 集饋笊笊管店品品品品岀 商商商商一 12 3 4 5 6 |. fJJBjfm M|M24丈具店商

14、品筲1申态 状 始 初 的入询出品存杏秦 店品品品商商商商初始之畀类别工具结束初妬化吗? (1/0)=1文具店商昂管I里A姑 索 初 橙貌 的人询出岀系 品存杳蛊理 店品品品品出 商商商商商退翳i-g斩入妾存赏的文兵茗称:橡哎 存货的文具数量譚恥存背的文具类别:文具存尺成功f文具店商品营理这里以钢笔为例)a3、商品的查询(查询一种商品的信息 初始化时,钢笔400 ;后进货,钢笔 300;文具店现有存货为:钢笔700;初 畫 的入啊出剳 品存自卖si连 商的旳的的砂吕 店品品品品出 商商商商 1 2 3 4 5 61 -商店莆品的衲始状态址:文貝店商品菅理谕丸要查找妁丈宾書称擁:笔査找成功输出如

15、下:以钢笔为例:钢笔现存700;要卖出 200态 始 索初 韓 的人询岀出系 器吉盍理 店品品品品出 商商商商商退 12 3 4 5 64、商品的卖出g遅名称交具类别文具数量钢雪文具700文貝店商品詐选择16:4夹口商品的文具名称誌弾想丢出參少件:西。此类文具卖岀咸功?剩余钢笔 500卜壬 *C; Docuent s and Sett ingsX&dMinist ralorXXZXDelvugX2, ex&X商品的查询4-商品的勇tH 轧商品笊輪岀检索 氛退生管理爲统选择iz输人要杳找的文具名褓:钢笔文具教量5BB查找成功,输出如下I衣長宅称文詈类别钢维文具袁具店商品t态初的入询品存杳一卖输理 店品品品品出 商商商商商退1 2 3 - 4* 5 5、商品的输出检索可以查看现库存商品的信息文具店商品菅理3文具教呈20B050BBB态初 怪统 的入询岀岀糸 品存查店品品品品出 商商商商 12 3 4 5 6口刀具具张具-4 丈文歩工丈5-Y称名S 选文的IB1计樣1名本器态 状始 盍 初 检 的入询出出 哮査盍 店品品品品 商商商商商 12 3 4 56、退出管理系统L -: racuMenT s and Sett incsX&dBinistrstorXJ2XDatnicX2. exe态初 怪统th入询岀岀糸品存查店品品品品出商商商商1 2 J- 4 S 6陆择1-打谢光临欢迎回顾!

温馨提示

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

评论

0/150

提交评论