数据结构课程设计_仓库库存管理系统.docx
《数据结构课程设计_仓库库存管理系统.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计_仓库库存管理系统.docx(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、库存物品信息管理1、 设计目的:利用数据结构课程的相关知识完成一个具有一定难度的综合设计题目,利用 C/C+语言进行程序设计,并规范地完成课程设计报告。通过课程设计,巩固和加深对线性表、栈、队列、字符串、树、图、查找、排序等理论知识的理解;掌握现实复杂问题的分析建模和解决方法(包括问题描述、系统分析、设计建模、代码实现、结果分析等);提高利用计算机分析解决综合性实际问题的基本能力。2、 设计内容和要求 :、要求物品出库、入库信息管理,浏览、修改物品信息;、物品信息按名称和代码存放,在程序出错时自动返回主页面、可以按物品名称物品代码来查询物品信息,即在主菜单中增加查询功能选项,输入代码或名称即可
2、显示;、可以修改、删除某库存物品信息。二、 运行环境(软、硬件环境)软件环境:Vc6.0 编程软件运行平台: Win32硬件: 普通个人PC 机三、 算法设计的思想1、输入物品信息函数:Add(Link l)第 26 页(共 26 页)基本思想: 根据物品代码(code)来输入物品信息,如果代码已存在, 则按ENTER 键返回主页面;如果代码不存在,则继续输入物品名称、物品数量、物品等级;若继续输入,就直接输入代码等信息,若返回上一级, 就按“0”键,调用main(),返回主界面。2、物品出库函数:Del(Link l)基本思想: 根据输入的代码或名称,如果不存在该物品,就输出“不存在该物品”
3、;然后输出是用代码出库或者名称出库,在选择操作后,输出该物品对应的信息,若输入“0”,则调用 main(),返回主界面。3、查看库存物品信息函数 :Qur(Link l)基本思想:根据输入的信息判断有无该商品信息,如果没有该信息, 则输出“你输入的信息有误”,有该物品,则输出该物品对饮的代码、名称、数量等信息,按enter 键返回主界面。4、删除物品信息函数:Del(Link l)基本思想:根据用户键入的选择,如果没有该物品信息,则输出没有改物品;调用该函数 Del(Linkl),如果存在该物品,则输出该物品及信息已成功修改,然后用户键入任意键返回主界面。5、物品信息修改函数:Modify(L
4、ink l)基本思想:根据用户键入的信息,判断有无该物品,若有,则继续进行。调用输出函数printc(),然后依次键入新的物品信息,在输出物品信息已成功修改然后用户键入任意键返回主界面。四、 算法的流程图开始用户进入物品库存管理用户进入物品进库系统用户进入查看物品信息系统用户进入物品信息出库系统用户进入修改物品信息系统用户进入浏览物品信息系统用户退出物品库存管理系统结束算法流程:五、 源代码/物品库存管理系统制作人:胡华 张义江 魏尹 尹亮 朱翀#include #include #include #include int shoudsave=0;struct item/物品信息定义char
5、code10;/物品编码char name20;/物品名称int num;/商品数量 int level;/物品等级item;typedef struct nodestruct item data; struct node * next;Node,*Link;/定义为链表void menu()/页面显示函数system(cls);/清屏函数printf(*物品库存管理*n); printf(n);printf(n 物品入库管理ntn 物品出库管理n);printf(n 浏览库内物品信息ntn 修改物品信息n);printf(n 保存物品信息ntn 退出库存管理n);printf(n);cout
6、*endl;printf(n请选择操作:);void printstart()printf(n);void Wrong()/错误处理函数printf(输入错误!n); getchar();getchar(); menu(); return;void Nofind()printf(没有找到该物品!n);void printc()/本函数用于输出中文printf( 物品编码物品名称物品数量物品等级n);void printe(Node *p)/输出物品信息函数coutendldata.codedata.name data.numdata.level;Node *Locate(Link l,char
7、 findmess,char nameorcode) /用于定位连接中, 符合要求的结点,并返回该指针Node *r; if(strcmp(nameorcode,code)=0)/r=l-next; while(r!=NULL)if(strcmp(r-data.code,findmess)=0) return r;r=r-next;elseif(strcmp(nameorcode,name)=0)/按名称查询r=l-next;while(r!=NULL)if(strcmp(r-data.name,findmess)=0) return r;r=r-next;return 0;void Add(
8、Link l)/增加物品函数Node *p,*r,*s; char code10; r=l;s=l-next;while(r-next!=NULL) r=r-next;while(l)system(cls);/清屏函数cout请输入商品编码(输入0返回上一级菜单):data.code,code)=0)printf(物品编码为%s的物品已经存在,如果要修改请选择4 修改!n,code);printstart(); printc(); printe(s); printstart(); printf(n); return;s=s-next;p=(Node * )malloc(sizeof(Node)
9、; strcpy(p-data.code,code);printf(请输入物品名称:);scanf(%s,p-data.name); getchar();printf(请输入物品数量:);scanf(%d,&p-data.num);printf(请输入物品等级:); scanf(%d,&p-data.level); p-next=NULL;r-next=p; r=p; shoudsave=1;menu();void Qur(Link l)/查询物品信息函数int sel;char findmess20; Node *p;if(!l-next)printf(n 没有信息可查询!n); getch
10、ar();getchar(); menu();return;system(cls);/清屏函数printf(n 1 按物品编码查询n 2 按物品名称查询n); scanf(%d,&sel);if(sel=1)/printf(请输入要查询的编码:n); scanf(%s,findmess); p=Locate(l,findmess,code); if(p)printf(tttt 查询结果n);printstart(); coutendl; printc(); coutendl; printe(p); coutendl; printstart(); getchar(); getchar(); me
11、nu(); return;elseNofind();elseif(sel=2)/printf(请输入要查找的物品名称:); scanf(%s,findmess); p=Locate(l,findmess,name); if(p)printf(ttt 查询结果n); printstart();coutendl; printc();coutendl; printe(p); coutnext)system(cls);/清屏函数printf(n 您的仓库为空!n);getchar(); getchar(); menu(); return ;system(cls);/清屏函数printf(n 1 按物品
12、编码出仓n 2 按物品名称出仓n); scanf(%d,&sel);if(sel=1)printf(请输入要出仓的物品编码:); scanf(%s,findmess); p=Locate(l,findmess,code); if(p)r=l;while(r-next!=p) r=r-next;r-next=p-next; free(p);printf(n 该物品已经成功出仓n); shoudsave=1;getchar(); getchar(); menu(); return ;elseNofind();elseif(sel=2)system(cls);/ 清 屏 函 数 printf(请输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 仓库 库存 管理 系统
限制150内