- 8
- 0
- 约8.87千字
- 约 19页
- 2020-12-19 发布于山东
- 举报
精品文档 你我共享
内蒙古科技大学
数据结构
课程设计说明书
学生姓名: 白天磊
学 号:1267159204
学 院 : 软件学院
专 业 : 软件工程
题 目 : 产品进销存管理系统
指导教师 康懿
AAAAAA
精品文档 你我共享
(一) 任 概述
某一种行 的 房的 品 存情况 行管理。
1、采用一定的存 构 房的 品及其数量 行分 管理;
运用 表 行存 ,同 用到指 量,运用循 存 , 存 品的信息要用到日期 构体和 品 构体, 存 要用到文件指 以及文件的一些方法的使用。
2、可以 行 品 的添加、 品的添加、 品数量的添加;
首先要找到 表的指 量, 指 量 行修改, 然后再 行 品的出
入。
3、能 房每种 品的 量、 日期、 出数量、 售 等;首先要定 一个 函数, 品 的指 量 行循 ,再
品的指 量 行循 , 找到 品 , 在 用 示 品信息函数, 示 到的 品的各 信息。
(二)本 所采用的数据
运用 表 行存 ,同 用到指 量,循 存
( 三) 功能模
3.1 思想
1、 序表挂接 表的抽象定 型:
ADT sqmountlink{
数据 象: D={ai|ai ∈ kindlist,i=1,2, ?,n,n=0 }
数据关系: R={ai-1,ai|ai-1,ai ∈ D,i=1,2,3, ?,n }
基本操作:
InitMountLisr(L)
操作 果:构造一个空的 序表挂接 表 L。
KindInsert(L,n)
初始条件: 序表挂接 表 L 已存在。
操作 果:向 序表挂接 表 L 中添加 N 品
ProductInsert(L,I,n)
AAAAAA
精品文档 你我共享
初始条件:顺序表挂接链表 L 已存在且要将产品插入的产品类 i
已存在
操作结果:向顺序表挂接链表 L 中的产品类 i 中添加 N种产品
ProQuantity_add(L,I,e,n)
初始条件:顺序表挂接链表 L 已存在且需要添加的产品及产品所
属的类也存在
操作结果:添加顺序表挂接链表 L 的产品类 i 中的产品 e 的数量
Visit(L,i,e)
初始条件:顺序表挂接链表 L 已存在且待查询的产品所属产品类
也存在
操作结果:在顺序表挂接链表 L 中查询产品 e 的各项信息
DisplayList(L)
初始条件:顺序表挂接链表 L 已存在
操作结果:现实顺序表挂接链表 L 的内容
3.2 核心代码
#includestdio.h
#includestdlib.h
#includestring.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{
AAAAAA
精品文档
你我共享
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 listsize;
}sqmountlink;
int InitMountList(sqmountlink L){
初始化一个空的顺序表挂接链表 L
int i;
L.kindelem=(kindlnode*)malloc(SQMOUNTLINK_INIT_SIZE*sizeof(kindlnode)
);
if(!L.kindelem) exit(overflow);
L.length=0;
L.listsize=SQMOUNTLINK_INIT_SIZE;
for(i=0;iL.listsize;i++){
(L.kindelem[i]).firstproduct=NULL;
}
return ok;
AAAAAA
精品文档 你我共享
}
原创力文档

文档评论(0)