我似乎无法产生正确的输出

I cannot seem to produce the correct output

本文关键字:输出      更新时间:2023-10-16

所以强制输出应该是这样的:

Product Name: Orange
Reference Number: 1123452
Price per unit/pound: 0.99
Stock: 34

但我有一个我做的代码,我遇到了麻烦,我不知道出了什么问题:

    #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;

      }


    };

描述:

  1. 类名应为Product
  2. 该类应包含4个数据字段:a.产品参考号(无符号(b.产品名称(字符串(c.每单位/磅价格(双倍(d.商店中剩余的物品/磅(未签名(
  3. 该类应具有以下方法:
    a.一个构造函数,它将所有信息作为参数,以上述顺序填充数据字段
    b.一个名为"get_name"的访问器,它不接受任何参数,并返回产品的名称
    c.一个名为"get_price"的访问器,它不接受任何参数并返回产品的价格
    d.一个名为"库存"的访问器,它不接受任何参数,并返回商店中剩余的当前产品的项目数/磅数
    e.一种称为"已售出"的变异程序,该程序计入当前产品已售出的商品数量,并更新库存商品数量的值
    f.一个名为"addToStock"的赋值程序,它接收进入商店的当前产品的商品数量,并更新商店中剩余商品的价值
    g.一个名为"info"的访问器,它不接受任何参数,并按以下顺序在屏幕上显示产品的信息,行与行之间没有空格。请不要添加任何美元符号或特殊字符。只需将名称和数字显示为如下所示

          Product Name: Orange
          Reference Number: 1123456
          Price per unit/pound: 0.99
          Stock: 34
    

您需要编写一个main((函数,如下所示:

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 sold( unsigned num_sold)

更改

unsigned addToStock(unsigned items_remaining, unsigned       stock_add)

unsigned addToStock(unsigned       stock_add)

更改

stock_add +=items_remaining;

items_remaining += stock_add;

您不必将items_remaining作为参数传递给方法。类中的数据可由同一类的方法直接访问。参考:http://www.tutorialspoint.com/cplusplus/cpp_data_encapsulation.htm