设为首页 加入收藏

TOP

VC++6.0物资分配软件实例分析(三)
2012-11-04 15:21:04 来源: 作者: 【 】 浏览:637
Tags:6.0 物资 分配 软件 实例分析
  3.数据表设计和数据结构设计

  3.1数据表设计

  基于模块化程序设计思想,为了更好的和其它程序之间交换数据,我们把物资分配问题的有关数据用数据库的形式组织和管理起来。程序运行时,从数据库中读取数据作为输入数据,运行的结果也输出保存在数据库中。由于物资分配问题可以用下面的框图来简单示意。所以围绕申请计划、库存情况和分配方案进行数据表的设计。



  首先,我们需要列出物资分配问题所涉及的所有物资清单(不失一般性,我们考虑对 种物资的分配问题)。然后把这些物资作为物资申请计划数据表和仓库储存情况数据表的属性。

  物资申请计划数据表(Apply)

序号数据元素名列标识符单位数据类型约束条件
1 计划编码Code 整形主码
2 申请单位名称Name 文本  
3 单位优先类别Class  整形 外码引用
4 对物资1的申请量NQ1 单精度实数型  
5 对物资2的申请量 NQ2  单精度实数型  
 
 对物资的申请量NQi 单精度实数型  

  单位优先级数据表(Power)

序号数据元素名列标识符单位 数据类型约束条件
1 单位优先类别Class  整形 主码
2 权系数 Power  单精度实数型  

  仓库情况数据表数据表(Gallery)

序号数据元素名列标识符单位数据类型约束条件
1 仓库编码Code 整形 主码
2 仓库名称Name  文本  
3 物资1的现有存储量SQ1 单精度实数型  
4 物资2的现有存储量SQ2  单精度实数型  
 
 物资的现有存储量 SQi 单精度实数型  
 物资1的最低储备量RQ1 单精度实数型  
 物资2的最低储备量RQ2 单精度实数型  
 
 物资 的最低储备量RQi  单精度实数型  

  物资分配结果数据表(Distribution)

序号 数据元素名 列标识符单位数据类型约束条件
1 单位编码Code 整形 主码
2 单位名称Name  文本 
3 分得物资1的数量DQ1 单精度实数型  
4 分得物资2的数量DQ2  单精度实数型  
 
 分得物资的数量DQi  单精度实数型 

  3.2数据结构设计

  在程序内部,为了避免多次读写数据库,我们为申请计划信息和库存情况信息设计了结构链表。这样程序初始化时一次性把数据库中的相关信息载入程序数据结构中。对物资分配结果,我们也定义了一个结构链表。程序对各个物资的分配结果保存在这个数据结构中。在系统命令驱动下或者是程序退出时,程序会从次分配结果结构链表向物资分配结果数据表写数据,用于其它程序,或者是用于把分配结果显示给用户。

  现在给出在VC++(www.cppentry.com)6.0中的结构定义

  用于保存申请计划信息的结构链表定义:

typedef struct _Apply
{
int Code;//单位编码
CString Name;//申请单位名称
int Class;//单位优先类别
float NQ1;//对物资1的申请量
float NQ2;//对物资2的申请量
┄ ┄
float NQi;//对物资i的申请量
}Apply;
typedef CTypedPtrArray<CPtrArray, Apply *> CApplyArray;

  用于保存物资库存情况的结构链表定义

typedef struct _Gallery
{
int Code;//仓库编码
CString Name;//仓库名称
float SQ1;//物资1的现有存储量
float SQ2;//物资2的现有存储量
┄ ┄
float SQi;//物资i 的现有存储量
float RQ1;//物资1的最低储备量
float RQ2;//物资2的最低储备量
┄ ┄
float RQi;//物资i的最低储备量
}Gallery;
typedef CTypedPtrArray<CPtrArray, Gallery *> CGalleryArray;

  用于保存分配结果输出信息的结构链表定义

typedef struct _ Distribution
{
int Code;//单位编码
CString Name;//申请单位名称
float NQ1;//该单位分得物资1的数量
float NQ2;// 该单位分得物资2的数量
┄ ┄
float NQi;// 该单位分得物资i的数量
}Distribution;
typedef CTypedPtrArray<CPtrArray, Distribution *> CDistributionArray;

首页 上一页 1 2 3 4 下一页 尾页 3/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇VC实现应用程序在线升级 下一篇用VC++构建树视图控件

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: