- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法与数据结构课程设计 产品进销存管理系统
实习报告
题目:编制一个产品进销存管理系统的程序
需求分析
针对食品这一行业,对其进行库房的产品进销存管理,选择线性顺序表来存储产品类,选择线性链表来存储属于此产品类的产品,并将产品链挂接到相应的产品类上。其中存储产品时还应将属于此产品的一些信息如产品的进货总量,进货日期,销出数量,销售时间等进行相应存储。
能够对此库房产品进销存管理系统进行产品类的添加、产品的添加、产品数量的添加。
能够用一定的查询方法查询库房每种产品的总量、进货日期、销出数量、销售时间等
本演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的操作命令;相应的操作结果显示在其后。
概要设计
1. 设定顺序表挂接链表的抽象数据类型定义:
ADT sqmountlink{
数据对象:D={ai|ai∈kindlist,i=1,2,…,n,n≥0}
数据关系:R={ai-1,ai|ai-1,ai∈D,i=2,3,…,n}
基本操作:
InitMountList(L)
操作结果:构造一个空的顺序表挂接链表L。
DestroyMountList(L)
初始条件:顺序表挂接链表L已存在。
操作结果:销毁顺序表挂接链表L。
CreatMountList(L)
初始条件:顺序表挂接链表L不存在。
操作结果:创建一个顺序表挂接链表L,并将L返回。
KindInsert(L,n)
初始条件:顺序表挂接链表L已存在。
操作结果:向顺序表挂接链表L中添加n个产品类。
ProductInsert(L,i,n)
初始条件:顺序表挂接链表L已存在且要将产品插入的产品
类i已存在。
操作结果:向顺序表挂接链表L中的产品类i中添加n种产品。
ProQuantity_add(L,i,e,n)
初始条件 :顺序表挂接链表L已存在且需添加数量的产品
及产品所属的类也已存在。
操作结果:添加顺序表挂接链表L的产品类i中的产品e的总量。
Visit(L,i,e)
初始条件:顺序表挂接链表L已存在且待查询产品所属产品类i也已存在。
操作结果:在顺序表挂接链表L中查询产品e的各项信息(
其进货总量、进货日期、销
出数量、销售时间等)。
DisplayList(L)
初始条件:顺序表挂接链表L已存在。
操作结果:显示顺序表挂接链表L的内容。
}
2.本程序包含两个模块:
1)主程序模块:
void main()
{
初始化一个空的顺序表挂接链表L;
创建初始的产品类、产品顺序表挂接链表L;
列出要执行的各项操作;
Loop:
输入各项操作命令;
switch(命令)
{
接受命令;
处理命令;
}
}
2)顺序表挂接链表单元模块——实现顺序表挂接链表的抽象数据类型;
各模块之间的调用关系如下:
主程序模块
顺序表挂接链表单元模块
详细设计
1. 程序设计
#include stdio.h
#include stdlib.h
#include string.h
#define ok 1
#define error 0
#define overflow 0
#define SQMOUNTLINK_INIT_SIZE 100
#define SQMOUNTLINKINCREMENT 10
typedef struct date
{
int year;
int month;
int day;
}date; //日期
typedef struct productlnode
{
char pname[30]; //产品名称
int totalquantity; //产品总量
date goodsdate; //进货日期
int salesquantity; //销出数量
date salestime; //销售时间
struct productlnode *nextproduct;
} productlnode,*plinklist;
typedef struct kindlnode
{
productlnode *firstproduct;
char pkindname[30];
}kindlnode;
typedef struct{
kindlnode *kindelem;
int length;
int li
您可能关注的文档
- 第八章╲t公司治理结构公司法教学课件 .ppt
- 第八章_齿轮传动.ppt
- 第八章古文运动与.ppt
- 第八章服装辅料与包装材料.ppt
- 第八章体育锻炼饮食与体重控制.doc
- 第八章社会组织的形象塑造.ppt
- 第八章——表观遗传学与癌症.ppt
- 第八章数控铣床编程.doc
- 第八章特种货物仓储管理.ppt
- 第八章继电器-接触器控制系统.ppt
- 2024-2025学年初中道德与法治人教版(五四学制)六年级下册教学设计合集.docx
- 2024-2025学年初中道德与法治湘师大版(2016)九年级下册教学设计合集.docx
- 2024-2025学年高中化学鲁科版必修1教学设计合集.docx
- 2024-2025学年高中数学人教A版选修2-2教学设计合集.docx
- 2024-2025学年小学科学冀人版(2017)一年级上册教学设计合集.docx
- 2024-2025学年小学科学青岛版(2017)六年级上册教学设计合集.docx
- 2024-2025学年初中数学华东师大版(2012)七年级上册教学设计合集.docx
- 2024-2025学年高中地理中图版选修1教学设计合集.docx
- 2024-2025学年高中化学鲁科版必修1教学设计合集.docx
- 2024-2025学年高中历史华东师大版(上海)第五分册教学设计合集.docx
文档评论(0)