对我的课堂作业有异议 所以我在C++课上有一个作业,我遇到了一些麻烦。以下是作业说明:
本文第499页上的编程挑战7要求您设计和库存类,该类可以保存零售商店库存中某个商品的信息。您将获得用于创建类的代码以及用于实现函数的代码。通过编写使用该类的简单程序来演示该类。该程序应证明每个功能正常工作。使用提供的链接提交.cpp文件 下面是发送的文件的内容(相当长):对我的课堂作业有异议 所以我在C++课上有一个作业,我遇到了一些麻烦。以下是作业说明:,c++,class,C++,Class,本文第499页上的编程挑战7要求您设计和库存类,该类可以保存零售商店库存中某个商品的信息。您将获得用于创建类的代码以及用于实现函数的代码。通过编写使用该类的简单程序来演示该类。该程序应证明每个功能正常工作。使用提供的链接提交.cpp文件 下面是发送的文件的内容(相当长): //第7章——编程挑战13的文件——库存类 //这是inventory.h文件。 //它包含库存类声明。 #ifndef库存 #定义库存 班级清单 { 私人: 整数项目编号; 整数; 双重成本; 总成本加倍; 公众: //默认
//第7章——编程挑战13的文件——库存类
//这是inventory.h文件。
//它包含库存类声明。
#ifndef库存
#定义库存
班级清单
{
私人:
整数项目编号;
整数;
双重成本;
总成本加倍;
公众:
//默认构造函数
存货()
{itemNumber=quantity=cost=totalCost=0;}
//重载构造函数
库存(int,int,double);//在Inventory.cpp中定义
//Inventory.cpp中定义的变数(即“set”函数)
无效集合项目编号(int);
无效设置数量(int);
无效成本(双倍);
//setTotalCost计算总成本
//并将结果存储在totalCost成员中
void setTotalCost()
{totalCost=成本*数量;}
//访问器(即“获取”函数)
int getItemNumber()
{返回itemNumber;}
int getQuantity()
{返回数量;}
双重成本
{返回成本;}
双getTotalCost()
{返回总成本;}
//输入验证函数
布尔validInt(int);
bool validFloat(双);
};
#恩迪夫
//这是inventory.cpp文件。
//它包含库存类函数定义。
#包括
#包括“Inventory.h”
使用名称空间std;
//************************************************************
//重载构造函数
//接受要存储在每个成员变量中的参数。
//************************************************************
存货:存货(整数英寸,整数q,双c)
{
setItemNumber(输入);
设定量(q);
设定成本(c);
setTotalCost();
}
//************************************************************
//setItemNumber接受要存储在item number中的参数。
//************************************************************
无效库存::setItemNumber(整数英寸)
{
而(!validInt(in))
{
cout>in;
}
itemNumber=in;
}
//************************************************************
//setQuantity接受要存储在quantity中的参数。
//************************************************************
无效库存::设置数量(整数q)
{
而(!validInt(q))
{
cout>q;
}
数量=q;
}
//************************************************************
//setCost接受要存储在cost中的参数。
//************************************************************
无效库存::设置成本(双c)
{
而(!validInt(c))
{
cout>c;
}
成本=c;
}
//************************************************************
//validInt成员测试其整数参数以查看
//如果是负数。如果参数为负,则函数
//返回false。否则,函数将返回true。
//************************************************************
布尔库存::有效性(整数值)
{
if(value<0)//该值为负值,因此无效
返回false;
else//整数值有效
返回true;
}
//************************************************************
//validFloat成员测试其浮点参数以查看
//如果是负数。如果参数为负,则函数
//返回false。否则,函数将返回true。
//************************************************************
bool库存::validFloat(双倍值)
{
if(value<0)//该值为负值,因此无效
返回false;
else//浮点值有效
返回true;
}
我只是不知道如何使用这些信息来制作一个演示类的程序,它可以像我不以正确的方式保存文件一样简单只需编写一个
main
函数,该函数实例化一个Inventory
对象,并以有意义的方式调用其每个方法。这不是一个难题,只要找到一种方法来调用对您有意义的函数。您的问题到底是什么?代码太多了,您还没有提出我们可以回答的特定问题。如果您不知道如何开始作业,请向您的讲师寻求帮助。这个网站是专门针对你所面临的实际问题的;不能开始做家庭作业不是一个特别的问题。你的导师显然还没有为你提供足够的信息来完成这项工作;向他们寻求额外的帮助。这就是他们被雇来做的事。此外,您的标题没有任何意义,因为它无法描述特定问题或提出问题。(@validFloat函数开始:在与inventory.h
相同的目录中编写一个名为saymain.cpp
-的新文件,其中包含以下文本:#include“inventory.h”
int main(){Inventory Inventory;Inventory.setItemNumber(33);}
。它创建一个Inventory对象并在其上调用一个成员函数。从那里开始……想想这些函数的一些用途。@MattMcNabb:我特别喜欢validFloat
如何在double
类型上操作。保持优雅,教科书!
// 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;
}