数据结构课程设计文具店的货品管理docWord下载.docx
- 文档编号:22603641
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:17
- 大小:202.46KB
数据结构课程设计文具店的货品管理docWord下载.docx
《数据结构课程设计文具店的货品管理docWord下载.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计文具店的货品管理docWord下载.docx(17页珍藏版)》请在冰豆网上搜索。
文具信息可以用表1和表2来表示。
表1
文具名称
文具类别
文具数量
钢笔
1
400
日记本
2
2000
计算器
3
50
表2
文具类别号
文具类别名
文具
纸张
工具
三、源程序
#include<
stdio.h>
stdlib.h>
malloc.h>
string.h>
iostream.h>
#defineERROR0
#defineOK1
#defineOVERFLOW0
typedefstruct{
charname[10];
charlb[10];
intcount;
}datatype;
typedefstructnode{
datatypename;
structnode*next;
}listnode,*linklist;
intmenu_select();
intlinklist_init(linklist&
head);
intlinklist_create(linklist&
intlinklist_insert(linklist&
intlinklist_find(linklisthead);
intlinklist_delete(linklist&
intlinklist_print(linklisthead);
intmenu_select()
{
intsn;
printf("
\n文具店商品管理\n"
);
=================================================\n"
1.商店商品的初始状态\n"
2.商品的存入\n"
3.商品的查询\n"
4.商品的卖出\n"
5.商品的输出检索\n"
6.退出管理系统\n"
\n===============================================\n"
选择1--6:
"
for(;
;
)
{
scanf("
%d"
&
sn);
if(sn<
1||sn>
6)
printf("
输入错误,从新选择(1--6):
else
break;
}
returnsn;
}
head)//初始化
head=(linklist)malloc(sizeof(listnode));
if(!
head)
exit(OVERFLOW);
head->
next=NULL;
returnOK;
head)//商品的创建
linklistp,rear;
intflag=0;
rear=head;
while(flag==0)
p=(linklist)malloc(sizeof(listnode));
printf("
\n商店初始商品文具名称:
cin>
>
p->
name.name;
\n初始文具数量:
name.count;
\n初始文具类别:
name.lb;
p->
rear->
next=p;
rear=p;
结束初始化吗?
(1/0):
flag);
rear->
head)//向商店存货(存入文具)
linklistp,p1,p2;
p2=head;
p2=p2->
next;
p=(linklist)malloc(sizeof(listnode));
输入要存货的文具名称:
cin>
\n存货的文具数量:
\n存货的文具类别:
while(p2!
=NULL)
if(strcmp(p2->
name.name,p->
name.name)==0)
{
p2->
name.count+=p->
\n存货成功!
returnOK;
}
p1=p2;
p2=p2->
if(p2==NULL)
p1->
returnERROR;
head)//商店卖出文具
linklistp,t;
t=head;
t=t->
卖出商品的文具名称:
\n想卖出多少件:
while(t!
if(strcmp(t->
if(t->
name.count==0)
{
printf("
\n此类商品已经销售完。
returnERROR;
}
else
name.count<
name.count)
{
\n现存商品容量不足,无法卖出。
returnERROR;
}
else
t->
name.count-=p->
\n此类文具卖出成功!
returnOK;
t=t->
if(t==NULL)
\n商店没有此类文具。
intlinklist_print(linklisthead)//输出
linklistp1;
p1=head;
p1=p1->
文具名称文具类别文具数量\n"
while(p1!
%4s\t%14s\t%20d"
p1->
name.name,p1->
name.lb,p1->
name.count);
p1=p1->
\n"
intlinklist_find(linklisthead)//查找
p1=p2=head;
\n输入要查找的文具名称:
\n查找成功,输出如下:
p2->
name.name,p2->
name.lb,p2->
\n查找不成功!
voidmain()
linklisthead;
linklist_init(head);
switch(menu_select())
case1:
//创建
linklist_create(head);
break;
case2:
//存货
linklist_insert(head);
case3:
//查询文具
linklist_find(head);
case4:
//卖出文具
linklist_delete(head);
case5:
//检索文具
linklist_print(head);
case6:
\n谢谢光临,欢迎回顾!
四、调试分析
调试的过程中,对程序做了几点改进,增加了程序的容错能力,不论用户输入什么内容,程序都能安全检查。
五、测试结果
进入演示程序后,即显示主界面为:
根据提示,用户输入选项:
1、进入商店商品的初始化状态
输入表1和表2信息
其中:
结束初始化吗?
(1/0)选择0代表不结束,即继续输入商品信息,选择1代表,商品信息输入结束.
2、商品的存入
(例:
文具店需进钢笔300,橡皮200)
3、商品的查询(查询一种商品的信息,这里以钢笔为例)
初始化时,钢笔400;
后进货,钢笔300;
文具店现有存货为:
钢笔700;
4、商品的卖出
以钢笔为例:
钢笔现存700;
要卖出200
剩余钢笔500
5、商品的输出检索
可以查看现库存商品的信息
6、退出管理系统
六、课程设计小结:
通过这次课程设计,对程序设计和调试的能力有很大的提升。
这次课程设计使我深刻认识到自己专业知识的匮乏,缺乏独立程序设计的能力。
通过这次的课程设计也是我认识到了我在程序设计方面的严重不足,以及专业知识的严重匮乏。
我的程序设计思想和代码的编写和调试能力在此次课设期间有所提高。
这样一种更贴切实际的课程设计,大大的提高了我的学习效率,希望能够在平时教学的时候也能加入一些类似课程设计的程序设计习题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 文具店 货品 管理 doc
![提示](https://static.bdocx.com/images/bang_tan.gif)