物品库存管理课程设计报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

物品库存管理课程设计报告

紫金学院Visual C++课程设计

南京理工大学紫金学院VC++课程设计报告

课程:VC++课程设计

系别:计算机系

班级:计科一班

学号:120601105

姓名:付瑞

课题名称:物品库存管理

起止时间:2013.11.26~2013.12.11

指导教师:朱俊

2013年 12 月

1.程序功能介绍

用文件系统实现的物品库存管理程序。一种商品的品种里面包括(<10个)品牌,以品种为单位,可以实现商品品种的添加、删除、查找、显示,以及商品的进货,出货等功能。

2.课程设计要求

(1)组成商品品种的品牌不限数量,设置一个最大值(比如10),增加一个成员变量指示品牌的具体数量。商品品种的数量是每个品牌的数量之和。

(2)设计输出每日进货与出货的统计表,要求进货与出货分别为两个文本文件,清单上列有进出货物的时间、品种描述,具体品牌的进出货数量,如果是出货清单,在每笔出货的清单后还要有该次提取货物的总价格。

(3)商品品种以品种代码的顺序存放。

3.对课程题目的分析

该设计比较复杂,要对原程序做较大的修改,首先是数据的存放形式,因为要求数据按代码的顺序存放,并且进出货时对数据的各个组成成员都要做较大的修改。如果要用文件的形式存放,那么文件的读写就非常频繁,而且要使用大量的临时文件,因此建议使用链表的形式存放数据,在程序开始运行时读取固定文件中的数据,程序运行时全部数据都在内存进行操作。在程序运行结束前再将链表中的数据存放在原来的文件中,供下次运行程序时读取。建议首先将文件读取这部分程序调试好,这样在调试程序时就不用每次都从键盘输入数据了,可以节省大量的时间。同时,对链表中结点的操作有很多典型的程序可以参考,不同的结点只是数据部分类型不同,所以只要在上面稍加修改就可以使用。

4.程序设计和说明(说明算法思想、设计思路,给出重要的、关键的代码)

(1)类的封装

由于数据的存放形式使用链表的形式,所以

对于程序的很多操作实际上都是要求对链表进行一系列处理。其中吧Citem类作为一个结点,因此包含了大量对链表进行操作的函数,为了满足程序的完整性与可读性,应将对链表操作的所有程序封装在一起。

class Brand //品牌类

{

......

friend class CItem; //定义品种类为友元类};

class CNode //结点类

{ ......

friend class CList; //定义链表类为友元类};

class coustomer //客户类

{

......

};

(2)程序功能菜单的设置

程序主题采用菜单选项的形式,输入相应的菜单选项后程序可以反复运行,而其中还要求

3.4.5.6.8.9.项各有一个菜单,分别是:按照商品

品种名称和按照商品代码进行操作。

******************************************** * ¥欢迎使用物品库存管理系统

¥ *

* *

* 设计者付瑞

*

* *

* 指导老师朱俊

*

* *

********************************************

详细目录

1. 添加商品品种

2. 显示商

品品种

3. 查询商品

4. 删除商

5. 商品出库

6. 商品进库

7. 添加客户 8. 删除客户

9. 查询客户 10.显示客户资料

0. 退出系统

输入选择:

int CItem::SetItem(int n) //置品种数据,正确返回1,当n为1时,是新进货物,输出至出清单文件{

cout<<"\n输入商品名称:";

Flush(cin);

cin.getline(Item_name,20);

cout<<"\n输入商品代码:";

cin>>Item_code;

cout<<"\n输入商品颜色:";

Flush(cin);

cin.getline(colour,20);

cout<<"\n输入品牌数:"<<"(不超过"<

cin>>nBrnd;

//循环实现品牌数据的输入,count为商品总数

for(int i=0,count=0;i

{

cout<<"\n输入品牌"<

cout<<"\n输入品牌名称:";

Flush(cin);

cin.getline(brnd[i].brnd_name,20);

cout<<"\n输入品牌代码:";

cin>>brnd[i].Brand_code;

cout<<"\n输入数量:";

cin>>brnd[i].quantity;

cout<<"\n输入价格:";

cin>>brnd[i].brnd_price;

count+=brnd[i].quantity;

}

quantity=count;

if(n==1)

{

ofstream file("进货清单.txt",ios::out|ios::ate);

if(!file)

{

相关文档
最新文档