物品库存管理课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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) {