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

时间:2016-03-01 11:37:32

标签: c++

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

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个数据字段: 一个。产品编号(未签名) 湾产品名称(String) C。每单位价格/磅(双) d。商店剩余的商品/磅(未签名)
  3. 课程应具备以下方法:
    一个。一个构造函数,它将所有信息作为参数按上述顺序填充数据字段 湾名为“get_name”的访问器,不带参数并返回产品名称
    C。一个名为“get_price”的访问器,它不带参数并返回产品的价格 d。称为“库存”的存取器,不带参数并返回商店中剩余的当前产品的商品数/磅数 即一个称为“已售出”的变异程序,它接收当前产品的销售数量并更新库存中剩余物品的数量
    F。一个名为“addToStock”的mutator程序,它接收进入商店的当前产品的商品数量并更新商店中剩余商品的价值
    G。名为“info”的访问器,不带参数,并按以下顺序在屏幕上显示产品信息,行之间没有空格。请不要添加任何美元符号或特殊字符。只需显示名称和数字即可 如下所示。

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

1 个答案:

答案 0 :(得分:0)

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

int main()
{
    Product a("Orange", 23456, 0.99, 36);
    a.sold(4);
    a.addToStock(2);
    a.info();
}

您需要在Product类中进行更改:

从访问者中删除所有“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