C++ 我似乎无法产生正确的输出
因此,强制输出应该如下所示:C++ 我似乎无法产生正确的输出,c++,C++,因此,强制输出应该如下所示: Product Name: Orange Reference Number: 1123452 Price per unit/pound: 0.99 Stock: 34 int main() { Product a("Orange", 23456, 0.99, 36); a.sold(4); a.addToStock(2); a.info(); } 但我有一个代码,我做了,我有麻烦,我不能找出什么是错误的: #include
Product Name: Orange
Reference Number: 1123452
Price per unit/pound: 0.99
Stock: 34
int main()
{
Product a("Orange", 23456, 0.99, 36);
a.sold(4);
a.addToStock(2);
a.info();
}
但我有一个代码,我做了,我有麻烦,我不能找出什么是错误的:
#include <string>
#include <iostream>
using namespace std;
class Product {
private:
string prodName;
double price;
unsigned refNum, items_remaining;
public:
Product (){
refNum=items_remaining=0; price=0; prodName="";
}
Product ( string prod, unsigned ref, double pri, unsigned stk){
refNum = ref;
items_remaining = stk;
prodName = prod;
price = pri;
}
//Add Accessors
string get_name(string name){
cin>>name;
return prodName;
}
double get_price (double cost){
cin>>cost;
return price;
}
unsigned stock (unsigned items){
cin>>items;
return items_remaining;
}
unsigned sold (unsigned items_remaining, unsigned num_sold){
items_remaining -= num_sold;
return items_remaining;
}
unsigned addToStock (unsigned items_remaining, unsigned stock_add){
stock_add +=items_remaining;
return items_remaining;
}
void info (){
cout<<"Product Name: "<<prodName<<endl;
cout<<"Reference Num: "<<refNum<<endl;
cout<<"Price per unit/pound: "<<price<<endl;
cout<<"Stock: "<<items_remaining<<endl;
}
};
您需要编写一个main()函数,如下所示:
Product Name: Orange
Reference Number: 1123452
Price per unit/pound: 0.99
Stock: 34
int main()
{
Product a("Orange", 23456, 0.99, 36);
a.sold(4);
a.addToStock(2);
a.info();
}
您需要在产品类中进行的更改:
从访问器中删除所有“cin”
改变
unsigned sold(unsigned items_remaining, unsigned num_sold)
unsigned addToStock(unsigned items_remaining, unsigned stock_add)
stock_add +=items_remaining;
到
改变
unsigned sold(unsigned items_remaining, unsigned num_sold)
unsigned addToStock(unsigned items_remaining, unsigned stock_add)
stock_add +=items_remaining;
到
改变
unsigned sold(unsigned items_remaining, unsigned num_sold)
unsigned addToStock(unsigned items_remaining, unsigned stock_add)
stock_add +=items_remaining;
到
您不必将剩余的项作为参数传递给方法。类中的数据可由同一类的方法直接访问。
请参阅:实际问题是什么?您没有从类Product中操作refNum,它是包含Reference Num的值,唯一一行的值与您希望看到的值不同。这意味着您将值错误地传递给了产品。因此,错误不在本课程中。您应该以简单的形式发布代码,请参阅:-谢谢。在读这篇文章之前,我已经修改了大部分代码,但是“产品a”部分是我搞砸的。我还感谢您指出我必须重新排序。另外,我不知道如何在cpp文件中正确调用类。