公司库存管理系统C

合集下载

基于MVC的库存管理系统设计与实现

基于MVC的库存管理系统设计与实现
如 图 2所示 。
框架 结构 如 图 4所 示 。

企业 或 行 业 的特 点 独 自开 发 , 其通用性不强 , 为 了减 界 的交 互功 能 , 将 用 户 的信 息 数据输 入 到系统 中。
的库 存 管 理 系 统 , 其 目的是 提 高 系 统 的普 适 性 , 下 面 t r o l 接 受 用 户 的输 入 , 并 调用 M o d e l 和 相应 的 V i e w去
Mo d e l V i e w C o n t r o l l e r 简称 MV C,是 一种 软 件 设 选 定 的构件 处 理完 成 后 ,再 由 C o n t r o l 决 定选 用 哪个 计模 式 典 范 , 是 一 种将 系 统 的业 务逻 辑 和 数据 展 示 分 V i e w显示 处 理后 的信 息 。 开组 织 与 开发 的软 件 系统 构架 模 式 , 主 要 由三 部 分 构 3库存 管理 系统 设计 与 实现
以对 应 一个 或者 多个 V i e w, 同时 V i e w应 该具 有 与外 C o n t r o l 是 Mo d e l 与V i e w之 间 的联 系 纽 带阎 , C o n —
散型 企业 库存 管理 系 统 。尽管 很 多企业 已经 开 始开 发 辑 加工 处 理之 后 的对 外 界 的展 示 , 也就 是 将信 息 按照
详细介绍改系统的结构体系和系统功能及其实现 。
2 MVC结构
完成用户 的业务需求 , C o n t r o l 奔上不处理任何信息 , 也不输 出任何信息 , 它仅仅 是接收用户的请求 , 然后 通过决策 当时据顶调用哪个模型构件去处理请求, 当
2 . 1 MV C体 系结 构

库存管理系统实验报告

库存管理系统实验报告

库存管理系统实验报告库存管理系统实验报告一、引言库存管理是企业运营中至关重要的一环。

良好的库存管理可以帮助企业降低成本、提高效率,并确保产品供应的稳定性。

为了探索和研究如何有效地管理库存,我们进行了一项库存管理系统的实验。

二、实验目的本次实验的目的是设计和实现一个库存管理系统,以模拟实际企业的库存管理流程。

通过该系统,我们可以了解库存管理的基本原理和方法,并掌握相关的技术和工具。

三、实验设计1. 系统功能设计根据库存管理的基本需求,我们设计了以下功能模块:- 商品管理:包括商品信息的录入、修改和删除等操作。

- 入库管理:记录商品的进货信息,包括进货数量、进货价格等。

- 出库管理:记录商品的销售信息,包括销售数量、销售价格等。

- 库存查询:可以根据商品名称或编号查询库存信息。

- 库存预警:当库存数量低于设定的阈值时,系统会自动发出预警提示。

2. 数据库设计为了存储和管理库存信息,我们设计了一个简单的数据库。

数据库包括以下表:- 商品表:存储商品的基本信息,如商品名称、编号、库存数量等。

- 进货表:记录商品的进货信息,包括进货时间、进货数量、进货价格等。

- 销售表:记录商品的销售信息,包括销售时间、销售数量、销售价格等。

3. 界面设计为了方便用户操作和使用,我们设计了一个简洁直观的用户界面。

界面包括菜单栏和各功能模块的操作界面,用户可以通过菜单栏选择所需的功能。

四、实验过程1. 系统搭建我们使用Python编程语言和SQLite数据库来实现库存管理系统。

首先,我们搭建了系统的基本框架,包括数据库连接、界面设计和功能模块的实现。

2. 功能实现根据设计的功能模块,我们逐一实现了商品管理、入库管理、出库管理、库存查询和库存预警等功能。

通过编写相应的代码,我们可以实现商品信息的录入、修改和删除,进货和销售记录的添加和查询,以及库存数量的自动更新和预警提示。

3. 测试与优化在功能实现完成后,我们进行了系统的测试。

简述ABC库存分类法实施的步骤

简述ABC库存分类法实施的步骤

简述ABC库存分类法实施的步骤1. 什么是ABC库存分类法ABC库存分类法是一种常用的库存管理方法,根据不同产品的重要性和销售频率进行分类,以帮助企业有效地管理库存。

该分类方法将库存划分为三类,分别为A类、B类和C类。

A类的库存为最重要、销售频率最高的产品;B类为中等重要性、中等销售频率的产品;C类为较低重要性、较低销售频率的产品。

2. ABC库存分类法实施步骤ABC库存分类法的实施步骤如下:步骤1:收集销售数据•首先,收集公司过去一段时间的销售数据,包括产品代码、销售数量和销售额等相关信息。

这些数据可以从企业内部的销售系统或者销售报表中获得。

步骤2:计算产品销售额占比•根据收集到的销售数据,计算每个产品的销售额占总销售额的百分比。

这个百分比可以表示产品的重要性,销售额占比高的产品相对重要,销售额占比低的产品相对不重要。

步骤3:计算产品销售数量占比•同样地,根据收集到的销售数据,计算每个产品的销售数量占总销售数量的百分比。

销售数量占比高的产品相对销售频率高,销售数量占比低的产品销售频率相对较低。

步骤4:综合权衡重要性和销售频率•将步骤2和步骤3计算得到的百分比综合起来,综合考虑产品的重要性和销售频率。

可以采用权重方法来确定A类、B类和C类的划分界限。

例如,可以将销售额占比和销售数量占比分别设置为70%和30%,销售额占比超过70%的产品为A类,销售额占比在30%-70%之间的产品为B类,销售额占比低于30%的产品为C类。

步骤5:分类和标识•将根据综合权衡得到的划分界限,将每个产品进行分类和标识。

可以使用字母A、B、C来表示产品的分类,附加在产品代码或者库存管理系统中。

步骤6:制定不同分类产品的库存策略•针对不同分类的产品,制定相应的库存策略。

对于A类产品,应加强库存管理,保持库存水平的准确性和及时性;对于B类产品,可以采取一些合理的库存控制手段,如定期盘点和适当的补货策略;对于C类产品,由于销售频率较低,库存管理可以更加灵活,可以定期清理库存并避免大量投资。

会计电算化(供应链管理)期末单元测试与答案

会计电算化(供应链管理)期末单元测试与答案

一、单选题1、在应付款系统中,取消核销的操作应该在()操作之前完成。

A.收款单据录入B.收款单据审核C.手工核销D.核销制单正确答案:D2、应收款管理系统的所有功能都是围绕()进行设计的。

A.客户B.供应商C.采购发票D.转账正确答案:A3、在应收款系统的制单功能中,以下说法错误的是()。

A.制单后可以增加、删除分录B.制单后可以增加、删除分录,但增加、删除的分录科目不能为受控科目C.系统生成的分录不允许删除D.可以修改附单据数正确答案:A4、在应付款系统中,取消操作的类型应不包括()。

A.取消记账B.取消并账C.取消转账D.取消核销正确答案:A5、与销售管理有关系的业务系统为()。

A.采购管理系统B.工资管理系统C.应收款管理系统D.应付款管理系统正确答案:C6、采购管理系统的主要功能是()。

A.采购管理B.采购核算C.采购管理与核算D.输出反应采购业务的各种报表正确答案:C7、库存管理系统是从()角度对存货进行管理。

A.工作流B.资金流C.物流D.信息流正确答案:C8、在应收款系统的业务账表查询功能中,可以把相关的所有应收、应付业务信息在一张表中显示,但显示信息不能包括()。

A.未审核单据B.付款条件C.未开票已出库单D.未开票已出库单正确答案:B9、在应收款系统的单据查询功能中,不能完成()查询。

A.发票B.结算单C.应付单D.应收单正确答案:C10、在应收款系统中,已经传递到总账系统中的凭证可以在()功能中删除。

A.制单处理B.单据查询C.账表管理D.期末处理正确答案:B二、多选题1、在下列哪些系统中可不能自动生成记账凭证()。

A.采购管理B.销售管理C.核算系统D.库存管理正确答案:A、B、D2、库存管理系统必须的初始设置有()。

A.存货档案的设置B.客户档案的设置C.仓库档案的设置D.出入库类型的设置正确答案:A、C、D3、库存管理系统中主要输入的单据有()。

A.各种发票B.各种入库单C.各种出库单D.盘点单正确答案:B、C、D4、在核算系统中,可根据()生成记账凭证。

库存管理系统需求文档

库存管理系统需求文档

库存管理系统需求文档⒈引言本文档描述了一个库存管理系统的功能需求,旨在帮助企业实现高效的库存管理和优化供应链流程。

本系统将包括各种功能模块以满足企业的库存管理需求。

⒉项目概述⑴目标该库存管理系统的目标是提供一个集中化的系统来跟踪和管理企业所有库存,包括原材料、在制品和成品。

系统将提供实时库存数据、自动化订购和补货流程、库存分析和报告等功能。

⑵背景当前企业库存管理存在以下问题:●缺乏实时库存数据,导致订单滞后和缺货问题。

●手动处理订单和库存管理流程,效率低下。

●难以准确预测需求和优化补货策略。

●缺乏库存分析和报告,无法及时了解库存情况和优化库存策略。

⒊功能需求⑴用户管理模块该模块用于管理系统的用户,包括以下功能:●用户注册和登录。

●用户角色和权限管理。

⑵商品管理模块该模块用于管理商品信息,包括以下功能:●商品添加、编辑和删除。

●商品分类和属性管理。

●商品库存和价格管理。

⑶仓库管理模块该模块用于管理仓库信息,包括以下功能:●仓库添加、编辑和删除。

●仓库库存管理。

●仓库货物入库和出库。

⑷订单管理模块该模块用于管理订单信息,包括以下功能:●订单创建和编辑。

●订单状态跟踪。

●订单发货和退货。

⑸供应商管理模块该模块用于管理供应商信息,包括以下功能:●供应商添加、编辑和删除。

●供应商库存和价格管理。

●供应商订单管理。

⑹报表和分析模块该模块用于库存报表和分析库存数据,包括以下功能:●实时库存报表。

●库存分析和预测功能。

●库存报警和提醒。

⒋非功能需求⑴性能●系统响应时间应小于1秒。

●系统支持高并发访问。

⑵安全性●用户注册和登录需要身份验证。

●敏感数据加密存储。

⑶可用性●系统应具有良好的用户界面和易用性。

●系统应提供错误处理和容错机制。

⒌附件●数据库设计文档●用户界面设计稿⒍法律名词及注释●版权:对作品享有著作权拥有权的法律概念。

●隐私权:个人信息的保护和对外披露的法律规定。

库存管理系统文档

库存管理系统文档

库存管理系统文档1. 系统介绍1.1 系统概述库存管理系统是一种用于跟踪和管理企业库存活动的软件系统。

它提供了一个全面的解决方案,帮助企业有效地管理库存、采购和销售,以确保库存的准确性和优化供应链。

1.2 系统目标库存管理系统的目标是提供一个实用的工具,以帮助企业高效地管理库存,从而提高运营效率和利润。

它的主要目标包括: - 实时跟踪和监控库存水平- 减少库存损失和过度存货- 最大限度地提高库存周转率- 优化供应链管理和物流运作- 提高客户满意度和交付准时性2. 功能模块2.1 库存管理模块库存管理模块是本系统的核心模块,它包含以下功能:- 库存信息录入:将企业库存的各种物料信息录入系统,包括货品名称、规格、计量单位等。

- 库存盘点:对库存进行周期性盘点,以确保库存数据的准确性和及时性。

- 库存调整:对库存进行盘盈盘亏的调整,记录库存变动情况。

- 库存查询:提供实时库存查询功能,以便用户随时了解库存情况。

- 库存报表:生成各种库存报表,包括库存总结、ABC 分析、出入库统计等。

2.2 采购管理模块采购管理模块用于管理企业的采购活动,主要功能包括:- 采购需求分析:根据库存预测、销售计划等信息,分析企业的采购需求。

- 供应商管理:管理供应商信息,包括供应商基本信息、采购价格、交货能力等。

- 采购订单管理:生成采购订单,跟踪采购进度,确保按时交付。

- 采购付款管理:管理采购付款事务,跟踪付款进度和账务情况。

2.3 销售管理模块销售管理模块用于管理企业的销售活动,主要功能包括:- 销售订单管理:创建销售订单,跟踪订单状态和交付进度。

- 客户管理:管理客户信息,包括客户基本信息、购买历史记录等。

- 销售报价管理:生成销售报价,跟踪报价状态和有效期。

- 销售退货管理:处理客户退货请求,跟踪退货流程和退款事务。

2.4 报表分析模块报表分析模块用于生成各种库存和采购销售相关的报表,以帮助管理者进行决策和分析,主要功能包括:- 库存报表分析:根据库存数据生成库存周转率、库存成本等报表。

库存管理系统(上)

库存管理系统(上)

库存管理系统(上)前言:仓库库存管理系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以仓库库存管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理仓库中的各种物资设备,这种管理方式存在着许多缺点,如:效率低、另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对物资信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样一套库存管理软件成为很有必要的事情。

【摘要】库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

对于前者要求建立起数据一致性和完整性强.数据安全性好的库。

而对于后者则要求应用程序功能完备,易使用等特点。

经过分析如此情况,我们使用微软公司的VisualBasic开发工具,利用其提供的各种面向对象的开发工具,尤其是ADO,是能方便而简洁操纵数据库的智能化对象,短期内就可以开发出用户满意的可行系统。

关键字: 库存管理 ADO 面相对象库存ABC分析AbstractStockpile manage system is a typical MIS.It’s development mostly include the foundation and maintenance of the database and the development of the client application programme.For the former we must eatablish a better database,which has well data consistency and data security.For the latter we must make the programme has self-contained function and easy to be use.By analysing the situation,we use the VB of the Microsoft company as client tool,and use some of the tools of opp, especially ADO object,which can easily conveniently manipulate the database.We use it can develop a satisfactory system in short timeKey: Stockpile manage ADO OPP The analysis of Stockpile第一章概述1.1 库存管理的必要性大多数库存管理理论认为,库存是物理上和逻辑上库房库位的所有有形和无形物料极其价值的总和,具体包括成品、原材料、在制品、在途品、生产前物料、备品备件等。

基于C_S结构的库存管理系统的设计

基于C_S结构的库存管理系统的设计

甘肃科技纵横2007年(第36卷)第1期摘要:本文根据现代企业的库存管理模式,开发了基于C/S结构的库存管理系统。

该系统能给库存管理人员提供便捷的操作和准确的数据,并能对库存管理的业务流程进行控制,使各角色根据自己的权限采用流水线作业完成任务。

关键词:C/S库存管理业务流程流水线作业库存管理是企业管理的核心,提高企业的库存管理水平,对提高企业的整体管理水平及经济效益具有很大的现实意义。

传统的库存管理系统不能实现对库存业务流程的控制,不能满足现代企业的管理规范。

本文根据企业库存管理的业务流程,设计了基于C/S结构的库存管理系统,它有效的实现库存业务流程可控、在控的循环管理,使企业各部门、各岗位对库存管理的协同办公。

库存管理系统主要通过对库存材料和产品的入库、出库等操作进行全面的控制和管理,帮助企业的仓库管理人员管理库存物品,提高企业库存管理工作效率。

1.1系统体系结构随着计算机技术的不断发展,计算模式从集中式转向了分布式,尤为典型的是C/S结构(Client/Server,客户机/服务器模式)。

近年来,随着网络技术不断发展,尤其是基于Web的信息发布和检索技术、Java计算技术以及网络分布式对象技术的飞速发展,导致了很多应用系统的体系结构从C/S结构向更加灵活的多级分布结构演变,使得软件系统的网络体系结构跨入一个新阶段,即B/S体系结构(Browser/Server,浏览器/服务器模式)。

由于C/S结构的技术发展比较完善,在开发数据库应用程序中有着不可取代的优势。

比如:客户端实现与服务器的直接相连,没有中间环节,因此响应速度快;操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求;C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。

鉴于此,目前大多数管理系统均采用两层C/S体系结构来实现的,结构如图1所示。

根据本系统的需求,我们使用SQLServer2000作为数据库服务器,使用Delphi7作为客户端开发工具。

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

设计内容公司库存管理系统一、设计要求1.目的和要求(1)要求学生熟练掌握C++语言的基本知识和技能;(2)要求利用面向对象的方法以及C++的编程思想来完成系统的设计,在设计的过程中,建立清晰的类层次;;(3)基本掌握面向对象程序设计的基本思路和方法;(4)在系统中定义类,每个类中要有各自的属性和方法;(5)在系统的设计中,至少要用到面向对象的一种机制。

(6)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

(7)写出设计说明书2.设计内容1、问题描述(功能要求):某公司现有以下设备:普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%,要求对所有的库存设备都能按照品名进行显示、查找、入库和出库、保存的功能。

普通电视机有下列属性:尺寸、类型(液晶或等离子)、售价、重量、品牌、入库数量、入库编号DVD有下列属性:规格(高清、蓝光高清、普通)、售价、重量、品牌、入库数量、入库编号带DVD的电视机是上两者的派生类,但请注意有些属性的重复问题。

要求生成的相关库存数据结果以文件方式存放在硬盘中,或用链表、数组来进行管理。

2、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)写出需求分析(做什么),建立该系统的功能模块框图;(2)分析系统中的各个实体之间的关系及其属性和行为;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述(包括属性和方法);(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告以及系统使用说明书。

3.设计环境Windows操作系统、VC++6.0、C++语言4.个人承担任务主要负责系统的显示、查找、入库、出库主要功能实现和系统封装。

二、系统需求分析公司库存管理系统程序中,系统要求我们设计四个类:一个基础类Device,由Device 类派生出来的普通电视机类和DVD类;再由普通电视机类和DVD类共同派生出来的带DVD 的普通电视机类。

在这个系统中我们需要实现主要的五个功能:1、显示物品功能;2、查找物品功能;3、入库物品功能;4、出库物品功能;5、保存物品功能。

公司库存管理系统主要是为了让用户根据自己的需要自己想输入的一些物品,然后将其保存,当用户想查看所有物品时可以查看,想添加物品时可以添加自己想添加的相关物品信息;当用户根据实际物品的库存调整时,可以进行出入库操作,并且记录每一次的出入库的时间和数量,以便日后查看;当用户想查找某一物品时,用户可以输入这一物品的名称或入库编码,然后搜索并查看这一物品的所有信息。

在这个系统中,用户可以根据系统的提示分别执行用户自己想实现的功能,比如:在显示物品功能中用户可以查看用户所保存的所有物品信息;在查找物品功能中用户可以根据自己的需要输入自己想查找的物品名称或入库编码,然后查找用户想查找的物品的所有相关信息;在出、入库物品功能中用户可以根据自己的需要输入自己想要出、入库的物品名称或入库编码,然后进行出、入库操作;在物品保存功能中,凡是用户每对库存系统内部的信息进行一次操作,系统就会自动保存并记录相关信息。

三、程序设计思路1、系统功能模块图:从系统的需求中我们可以看到:该系统要对产品进行显示、查找、入库、出库和保存功能。

这就意味着这个系统需要一个show 函数(通过cout 将数据显示在屏幕上)来实现显示功能,而其他各个功能需要不同的模块来实现,也就意味着这个系统需要五个不同的功能模块。

1、显示物品信息2、查找物品信息3、入库物品信息4、出库物品信息5、退出系统菜单派生派生2、公司库存管理系统中各功能模块的实现:a. 显示物品模块:在输入好库存信息后,库存信息就会被保存到“库存清单。

txt”文本中,然后根据菜单显示选择“1、显示物品信息”,就会直接调用文本文件中的所有信息并加以显示。

b.查找物品信息:查找类型查找物品信息显示物品信息显示物品出、入库记录查找名称c.入库物品信息:选择“3、入库物品信息”后,首先刷屏显示现有库存信息的全部内容,方便用户观察需要入库的产品信息和具体库存数量。

之后,可以根据选择入库编码或者设备名称来查找需要入库的具体设备。

如果该设备存在于库存当中,则输入入库数量,提示入库成功;如果仓库中没有该种设备,则提示“对不起,没有找到该库存物品。

”入库成功后,该物品库存数量增加,库存记录增加。

如图:d.出库物品信息:出库物品信息和入库物品信息操作原理一样,显示相同;只不过一个增加一个减少,在此就不再赘述。

e.保存效果:3、具体程序代码书写思路:因为用的c++编程语言和环境,所以针对于面向对象的程序书写理念。

我将程序模块化,把类的实现进行了封装,运用创建一个工程的方式把程序做的更为具体和清晰。

在关键地方,在程序后面做有注释,便于其他人阅读和分析。

四、总结本公司库存管理系统很好的实现了“显示、查找、入库、出库、保存”的主要功能,较为完美的实现了本次程序设计的主要要求。

除此之外,我还在程序中增加了一定的纠错能力,比如当出库数量大于现有库存是会提示“库存不足,请重新输入”的提示,直到用户输入正确的数值为止。

而且,在用户对于菜单的属于操作出现失误时,系统也会根据具体情况进行相应的提示,避免了死循环的出现,方便了用户的操作、增加了系统的健壮性。

对于程序的书写,可以说这个程序的封装以及模块化结构做的很好,主程序很简单,需要运用函数的时候直接调用相应部分即可。

这对于程序书写时的修改、校正也极为方便,避免了“牵一发而动全身”的麻烦。

我觉得这种模块化的思想应该继续保持,运用到今后的程序设计当中,既避免了主程序过于繁杂的麻烦,也为其他人的阅读、分析和今后的程序改良提供了方便。

在程序应用中,菜单选项仅是对于现有库存的各种操作和处理,但并没有提供外部接口让用户主动添加其它的物品信息。

对于此,我们特意增加了文本修改功能,可以从后台的地方增加或删减现有库存信息。

弥补了库存不可变动的缺陷。

也体现了,重要信息需要掌握在公司内部人员手中,而不能随意进行修改的理念。

五、调试及其测试(调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整)1、由于本次设计用到了类,而类中有受保护的对像和私有对象,他们都不可以在类外使用。

于是使得下边一些数据不能使用。

最后我只能将数据全改成公有数据。

这样也让继承的时候不会出现问题。

2、本次程序几经修改才做到了现在这个样子,起初是一个长达700多行的程序,没有运用封装和工程,显得程序比较冗长。

但是有个严重的问题就是每次程序重新启动的时候上次录入的信息和记录就全部清零,必须重新录入才可以进行出、入库处理,这样就使程序丧失了实用性,所以针对这个问题我特意书写的录入代码,让程序可以在一开始运行的时候就把库存清单里的信息先读入系统,然后再在这个基础上进行添加删除等操作,这样才能真正做到一个实用的系统。

3、因为系统要求必须把库存的信息保存到文本文件,这个操作我们课上只做了简单的介绍,而且凭借现有的知识还有所欠缺,我在查阅了大量资料和请教他人之后才逐步搞懂了这个环节。

由此经过修改写出了第二个程序,能够调用文本文件并且可以进行复杂操作的程序。

4、除此之外,一开始我保存和显示库存信息的文件方式也有所欠缺,没有做到空间的合理利用,经过老师的点拨和修改后,我设立了“string”字符串,让所有信息以字符串的形式显示和保存,并控制了每一个字段的长度,这样在现实的时候就显得十分美观,也便于读取和观察。

5、之后,我又在这个程序的基础上,进行了进一步的延伸。

因为程序要求必须把每一个库存信息都要储存,为了避免重复与不好记录的方面,我只好把添加信息的菜单隐藏,放于后台处理。

对于用户界面只对现有库存信息进行显示、查找、入库、出库的操作。

如果想要添加信息,那就得在“库存菜单.txt”的这个文件里直接进行输入。

这样修改的好处在于,我可以把信息做的系统化,并且能够记录每一次的出、入库记录,并加以显示。

6、最后,我将四个类封装处理,设立工程,程序模块化设计,真正的体现了一个c++程序设计的思想。

六、用户手册1、显示菜单在这里输入“1、2、3、4、5”进行菜单操作,每一步都会有系统字样提示,根据提示进行信息录入即可。

如果录入错误,系统会有自动提示,重新录入正确信息即可。

2、显示信息。

在主菜单中直接输入数字1,进行菜单显示,因为显示信息较多,所以最好调整一下显示框大小,避免出现显示错位的现象。

显示后,根据菜单提示输入“1”返回主菜单,输入“2”退出程序。

(以下相同,不再提示)3、查找物品信息在主菜单中直接输入数字2,进行物品查找,在查找选项中可以通过入库编码和设备名称两样分别进行查找。

查找后,显示该物品的详细信息并且显示近期来针对于本物品的出、入库信息。

4、出、入库物品信息在主菜单中直接输入数字3或4,进行物品出、入库。

选择物品出、入库后,系统会自动把所有库存信息进行显示,让用户可以看到能够入库的设备名称和入库编码,然后进行选择。

首先要选择进行出、入库的设备,之后按提示输入出、入库的数量。

(注:在出库时,如果出库数量大于现有库存就会提示“库存不足”)。

等到屏幕显示“入(出)库成功!”时,物品入(出)库成功。

5、退出程序在主菜单中直接输入数字5,退出程序。

七、附录:(程序源代码)1、Device类#include<iostream>#include<fstream>#include<cstring>#include<windows.h>#include<string>using namespace std;class Device{public:bool mask[11]; //定义字段是否应该被屏蔽(true:字段无效,false:字段有效) void *fs; //指向全局fileSystem对象的指针string strCategory; //设备分类:1-普通电视机, 2-DVD, 3-DVD电视机string strName; //货物名称string strDate; //日期//string strSize; //仅对TV有效,TV尺寸//string strType; //仅对TV有效,TV类型//string strCharactor; //仅对DVD有效,DVD规格string strWeight; //重量string strPrice; //价格string strBrand; //品牌int nTotal; //数量string strCode; //入库编码Device();virtual ~Device();virtual void Update(int n) = 0; // 出入库n台设备的操作,n>0:入库;n<0:出库 virtual void Show() = 0; // 展示当前库存和出入库记录};#include "stdafx.h"#include "Device.h"Device::Device(){}Device::~Device(){}2、DVD类#include "Device.h"class DVD : virtual public Device{public:string strCharactor; //仅对DVD有效,规格DVD();virtual ~DVD();void Update(int n); // 入库n台设备的操作void Show(); // 展示当前库存和出入库记录};#include "stdafx.h"#include "DVD.h"#include "fileSystem.h"DVD::DVD(){strCategory = "DVD";for (int i = 0; i < FIELDNUM; i ++){mask[i] = false;}mask[3] = true;mask[4] = true;}DVD::~DVD(){}void DVD::Update(int n) // 出入库n台设备的操作{nTotal += n;char buf[BUFSIZE];if (n > 0) {sprintf(buf, "%s (%s) 入库 %d 台。

相关文档
最新文档