我的学校课程分配问题

时间:2015-04-23 01:39:56

标签: c++ class

所以我的课程中有一个C ++课程的作业,我遇到了麻烦。以下是作业的说明:

您的文字第499页的编程挑战7要求您设计和库存类,该类可以保存零售商店库存中商品的信息。您将获得用于创建类的代码以及用于实现函数的代码。通过编写一个使用它的简单程序来演示该类。该程序应该证明每个函数都能正常工作。使用提供的链接提交.cpp文件。

以下是发送文件的内容(它非常冗长):

// Chapter 7---Files for Programming Challenge 13---Inventory Class

// This is the inventory.h file.
// It contains the Inventory class declaration.

#ifndef INVENTORY_H
#define INVENTORY_H

class Inventory
{
private:
    int itemNumber;
    int quantity;
    double cost;
    double totalCost;
public:
    // Default constructor
    Inventory()
        { itemNumber = quantity = cost = totalCost = 0; }

    // Overloaded constructor
    Inventory(int, int, double);    // Defined in Inventory.cpp

    // Mutators (i.e., "set" functions) defined in Inventory.cpp
    void setItemNumber(int);
    void setQuantity(int);
    void setCost(double);

    // setTotalCost calculates the total cost
    // and stores the result in the totalCost member
    void setTotalCost()
        { totalCost = cost * quantity; }

    // Accessors (i.e., "get" functions)
    int getItemNumber()
        { return itemNumber; }
    int getQuantity()
        { return quantity; }
    double getCost()
        { return cost; }
    double getTotalCost()
        { return totalCost; }

    // Input validation functions
    bool validInt(int);
    bool validFloat(double);
};

#endif

// This is the inventory.cpp file.
// It contains the Inventory class function definitions. 

#include <iostream>
#include "Inventory.h"
using namespace std;

//************************************************************
// Overloaded constructor
// Accepts arguments to be stored in each member variable.
//************************************************************
Inventory::Inventory(int in, int q, double c)
{ 
    setItemNumber(in);
    setQuantity(q);
    setCost(c);
    setTotalCost();
}

//************************************************************
// setItemNumber accepts an argument to be stored in item number.
//************************************************************
void Inventory::setItemNumber(int in)
{
    while (!validInt(in))
    {
        cout << "Item Number must be positive. Please re-enter: ";
        cin  >> in;
    }
    itemNumber = in; 
}

//************************************************************
// setQuantity accepts an argument to be stored in quantity.
//************************************************************
void Inventory::setQuantity(int q)
{
    while (!validInt(q))
    {
        cout << "Quantity must be positive. Please re-enter: ";
        cin  >> q;
    }
    quantity = q; 
}

//************************************************************
// setCost accepts an argument to be stored in cost.
//************************************************************
void Inventory::setCost(double c)
{
    while (!validInt(c))
    {
        cout << "Cost must be positive. Please re-enter: ";
        cin  >> c;
    }
    cost = c; 
}

//************************************************************
// The validInt member tests its integer argument to see 
// if it is negative. If the argument is negative, the function 
// returns false. Otherwise, the function returns true.
//************************************************************
bool Inventory::validInt(int value)
{
    if (value < 0)    // the value is negative so it is NOT valid
        return false;
    else              // the integer value is valid
        return true;  
}

//************************************************************
// The validFloat member tests its floating-point argument to see
// if it is negative. If the argument is negative, the function 
// returns false. Otherwise, the function returns true.
//************************************************************
bool Inventory::validFloat(double value)
{
    if (value < 0)    // the value is negative so it is NOT valid
        return false;
    else              // the floating-point value is valid
        return true;
}

我只是不确定如何使用这些信息制作一个演示课程的程序,它可能就像我没有以正确的方式保存文件一样简单

1 个答案:

答案 0 :(得分:1)

只需编写一个main函数,该函数实例化Inventory对象并以有意义的方式调用其每个方法。这不是一个难题,只是找到一种方法来调用对你有意义的函数。