数据结构课程设计
题目:仓库管理系统
班级: 计12本2
姓名: 贺萌萌
学号:1212210228
完成日期:2013-11-12
目录
一:程序设计题目……………………………………………2
二:程序设计目标……………………………………………2
三:问题描述…………………………………………………2
四:.需求分析………………………………………………2
五:概要设计…………………………………………………2
六:详细设计………………………………………………3
初始化表……………………………………………4
仓库管理系统和仓库链表的建立…………………4
插入数据……………………………………………4
仓库链表的查询……………………………………5
删除数据…………………………………………6
仓库链表的输出……………………………………6
测试分析…………………………………………6
使用说明…………………………………………6
数据测试…………………………………………6
七:程序源代码…………………………………………10 八:课程设计总结………………………………………18
:仓库管理系统
:帮助学生熟练掌握线性表的基本操作在俩种存储结构上的实现,其中以双向链表链表的操作和应用为重点内容。
:建立一个仓库管理程序,可以按顺序和货物名称查询仓库存储情况,也可以增加或删除货物以及建立新的仓库存储系统。
:
创建双向链表,设计仓库管理系统。
向链表中插入数据,输入数据
删除链表中的数据
查找链表中的内容
销毁双向链表,释放内存空间;
输出表格
:;可以采用双向链表的存储结构,如可定义如下的存储结构:
typedef struct dnode /*定义双向链表结构体*/
{
int number; /*商品编号*/
char name[max]; /*商品名称*/
int counter; /*商品数量*/
struct dnode *prior,*next; /*定义两指针,分别指向其前驱和后继*/
}dlnode;
:
总体操作步骤:
分配存储空间,初始化表;
(2) 对表进行插入、删除操作;
(3)完成操作。
初始化表
(1)申请内存
(2)数据置空
(3)置表头,完成操作
3. 插入数据
(1)申请内存
(2)置数据
(3)将结点插入,完成操作
(仓库链表的查询)
5. 删除数据
(1)判断相应结点是否存在
(2)从链中取出该结点
(3)将结点释放,完成操作
,仓库链表的输出:
白盒:
查看代码完整性
黑盒:
测试是否可以正确的创建,删除,插入,打印,查找等操作
插入删除语句:删除1条内容
插入语句:插入一条信息
自动打印:打印内容
:
测试内容
测试结果
删除一条数据
正确
插入一条数据
正确
正常打印数据
正确
正常查找内容
正确
七:程序源代码
#include<>
#include ""
#include ""
typedef struct { //仓库管理结点类型
char NO[10]; //商品编号
char name[30]; //商品名称
char count[5]; //商品数量
} DataType;
typedef struct node { //结点类型定义
DataType data; //结点数据域
struct node *next; //结点指针域
} ListNode;
typedef ListNode *LinkList;
LinkList head;
ListNode *p;
LinkList CreateList(void);
void InsertNode(LinkList head,ListNode *p);
ListNode *ListFind(LinkList head);
void DelNode(LinkList head);
void PrintList(LinkList head);
/*******尾插法建立带头结点的仓库管理链表算法*******/
LinkList CreateList(void)
{
LinkList head=(ListNode *)malloc(sizeof(ListNode
数据结构仓库管理课程设计 来自淘豆网m.daumloan.com转载请标明出处.