ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:237.35KB ,
资源ID:8806828      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8806828.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计.docx

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

3、#define OK 1#define OVERFLOW 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_fin

4、d(linklist head);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:)

5、; for(;) scanf(%d,&sn); if(sn6) printf(输入错误,从新选择(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(f

6、lag=0) p=(linklist)malloc(sizeof(listnode); 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) /向商店存货(存入文具) li

7、nklist p,p1,p2; p2=head; p2=p2-next; p=(linklist)malloc(sizeof(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; else p1=p

8、2; p2=p2-next; if(p2=NULL) p1-next=p; p-next=NULL; printf(n存货成功!); return ERROR;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

9、,p-name.name)=0) if(t-name.count=0) printf(n此类商品已经销售完。); return ERROR; else if(t-name.countname.count) printf(n现存商品容量不足,无法卖出。); return ERROR; else t-name.count-=p-name.count; printf(n此类文具卖出成功!); return OK; else t=t-next; if(t=NULL) printf(n商店没有此类文具。); return ERROR;int linklist_print(linklist head) /

10、输出 linklist p1; p1=head; p1=p1-next; printf(文具名称 文具类别 文具数量n); while(p1!=NULL) printf(%4st%14st%20d,p1-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输入要查

11、找的文具名称:); cinp-name.name; while(p2!=NULL) if(strcmp(p2-name.name,p-name.name)=0) printf(n查找成功,输出如下:n); printf(文具名称 文具类别 文具数量n); printf(%4st%14st%20d,p2-name.name,p2-name.lb,p2-name.count); return OK; else p2=p2-next; printf(n查找不成功!); return ERROR;void main() linklist head; linklist_init(head); for(;

12、) switch(menu_select() case 1: /创建 linklist_create(head); break; case 2: /存货 linklist_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谢谢光临,欢迎回顾!n); break; 四、 调试分析调试的过程中,对程序做了几点改进,增加了

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1