算法与数据结构课程设计-文具店的货品管理系统的设计

上传人:桔**** 文档编号:460055319 上传时间:2024-01-29 格式:DOC 页数:19 大小:183.50KB
返回 下载 相关 举报
算法与数据结构课程设计-文具店的货品管理系统的设计_第1页
第1页 / 共19页
算法与数据结构课程设计-文具店的货品管理系统的设计_第2页
第2页 / 共19页
算法与数据结构课程设计-文具店的货品管理系统的设计_第3页
第3页 / 共19页
算法与数据结构课程设计-文具店的货品管理系统的设计_第4页
第4页 / 共19页
算法与数据结构课程设计-文具店的货品管理系统的设计_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《算法与数据结构课程设计-文具店的货品管理系统的设计》由会员分享,可在线阅读,更多相关《算法与数据结构课程设计-文具店的货品管理系统的设计(19页珍藏版)》请在金锄头文库上搜索。

1、算法与数据结构 文具店的货品管理系统的设计学院:信息工程学院班级:8888888学号:88888888姓名:浏览量磊磊落落指导老师:经济加加减减日期:2009年6月27日目录:一实验名称二问题描述三总体设计四流程图五源程序六结果表达七结果分析八收获体会九参考文献十评语一实验名称:文具店的货品管理系统二问题描述:在文具店的日常经营过程中,存在对各种文具管理问题。当库存文具不足或缺货时,需要进货。日常销售时,需要出库。当盘点货物时,需要查询货物信息。根据这些需要编写了此软件完成库存文具的管理功能。三总体设计: 通过对问题的抽象,文具信息和文具分类信息可以用表1和表2来表示。可见文具信息和文具分类信

2、息在逻辑上具有线性的关系,因此可以使用线性表来解决这个问题。由于文具信息变动较大,应该使用链式存储结构进行表示和实现。而文具分类信息变动不大,可使用顺序存储结构进行表示和实现。 表1 文具信息文具名称文具类别 文具数量jj钢笔 1 400lala日记本 2 1000pp计算器 3 150 表2 文具分类信息文具分类号 文具类别名 1文具 2 纸张 3 工具顺序表和链表的比较: 线性表除了可以用顺序存储结构来表示以外,还可以用链式存储结构来表示。链式存储结构与顺序存储结构不同的是:它不要求逻辑上相邻的数据元素在物理位置上也相邻,它通过指针来表示数据元素之间的逻辑关系。# 顺序表存储结构比较适合于

3、线性表的长度不经常发生变化,不经常进行插入和删除操作,经常进行存取和查询操作。# 链式存储结构比较适合于线性表的长度不可预知,需要频繁进行插入和删除操作。四流程图:开始mallocmain()CreateSortList()CreateStockList()QueryStock()AddSort()AddStock()RemoveStock()文具是否存在出库库存修改数量插入删除修改数量DispStock()输出结果结束YNNY五源程序:#include malloc.h#include stdio.h#include stdlib.h#include string.h#define LIST

4、SIZE 100#define MAXSIZE 50/*文具分类信息的结构*/typedef structint SortNumber; /*文具分类号*/char SortName10; /*文具分类名*/DataType,SortType;typedef structSortType itemsMAXSIZE;int length;SqList;typedef SqList SortList; /*文具分类顺序表*/typedef structint SortNumber; /*文具分类号*/char StockName10; /*文具名称*/int amount; /*文具数量*/Sto

5、ckType;/*单链表的结构节点定义*/typedef struct NodeStockType data;struct Node *next;LNode,*PNode,*LinkList; /*文具链表*/typedef LinkList StockList;/*串的定义*/#define STRSIZE 100typedef structchar chSTRSIZE;int length;SqString;/*串比较*/int strcmp(SqString S,SqString T)int i;for( i = 0; i S.length & i next=NULL;return 1;

6、/*单链表的插入*/int Insert(LinkList h,int pos,StockType x)PNode p=h,q;int i=0;while(p & inext;i+;if(!p | ipos-1)printf(插入位置不合法!n);return 0;q=(PNode)malloc(sizeof(LNode);if(!q)printf(不能生成新结点n);return 0;q-data=x;q-next=p-next;p-next=q;return 1;/*单链表的删除*/int Delete(LinkList h,int pos,StockType *item)PNode p=

7、h,q;int i=0;while(p-next & inext;i+;if(!p-next | ipos-1)printf(删除位置不合法!n);return 0;q=p-next;p-next=q-next;*item=q-data;free(q);return 1;void Destroy(LinkList h)PNode p=h-next;while(h)p=h;h=h-next;free(p);/*顺序表的初始化*/int InitList_Sq(SqList *L)L - length = 0;return 1;/*顺序表的插入*/int ListInsert_Sq(SqList

8、* L,int pos, DataType item)int i;if(L - length = LISTSIZE)printf();return 0;if(pos L - length +1)printf();return 0;for(i = L - length - 1; i = pos - 1; i -)L - itemsi + 1 = L - itemsi;L - itemspos - 1 = item;L - length +;return 1; /*初始化文具分类顺序表*/int CreateSortList(SortList *SL)int i,num=0;SortType st

9、y; /*使用顺序表的InitList操作初始化顺序表*/ /*为了区别单链表的同名函数,把顺序表的InitList函数名改为InitList_Sq*/InitList_Sq(SL);printf(请输入文具类别总数:n);scanf(%d,&num);for(i=0;inum;i+)printf(请输入文具分类号:n);scanf(%d,&sty.SortNumber);printf(请输入文具分类名称:n);scanf(%s,&sty.SortName); /*使用顺序表的Insert操作在顺序表中插入节点*/ /*为了区别单链表的同名函数,把顺序表的ListInsert函数名改为Inse

10、rt_Sq*/ListInsert_Sq(SL,i+1,sty);printf(nOK.n);return 1;/*初始化文具链表*/int CreateStockList(StockList *SL)int i,num=0;StockType sty;/*使用单链表的InitList操作初始化单链表*/if(!InitList(SL)printf(创建错误n);return 0;printf(请输入文具总数:n);scanf(%d,&num);for(i=0;inext;printf(请输入文具分类号:n);scanf(%d,&sty.SortNumber);printf(请输入文具名称:n);scanf(%s,&sty.StockName); printf(请输入文具数量:n);scanf(%d,&sty.amount); while(p) /*如果该

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号