не выводит строку [закрыт]

140
08 ноября 2019, 02:30

Программа выводи количество, цену, общую сумму, но не выводит номер товара и его название. Что не так?

Создайте класс Invoice (накладная), который мог бы использоваться на складе хозяйственных товаров для представления накладных на товары, отпускаемые со склада. Класс должен включать шесть полей в качестве элементов данных: идентификационный номер изделия (тип целых чисел), артикул изделия (строковый тип), описание изделия (строковый тип), число отпускаемых единиц изделия (тип целых чисел), цена за одно изделие (тип целых чисел) и дату оформления. Класс должен иметь конструктор, инициализирующий шесть элементов данных. Для каждого элемента реализовать set- и get-функции. Предусмотреть функцию getInvoiceAmount(), вычисляющую общую сумму накладной (умножает цену одного изделия на число изделий) и возвращает ее как целое число.

hh.h

class Invoice
{
private:
    string number;
    string description;
    int price;
    int quantity;
    int sum;
public:
    Invoice(string, string,int,int);
    void setNumber(string);
    string getNumber();
    void setDescription(string);
    string getDescription();
    void setPrice(int);
    int getPrice();
    void setQuantity(int);
    int getQuantity();
    void getTotalAmount();
};

hhp.cpp

Invoice::Invoice(string num, string des, int pr, int quan)
{
    setNumber(number);
    setDescription(description);
    if(pr < 0)
    {
        setPrice(0);
    }else{
    setPrice(pr);
    }
    if(quan < 0)
    {
        setQuantity(0);
    }else {
    setQuantity(quan);
    }
}
void Invoice::setNumber(string numm)
{
    number = numm;
}
string Invoice::getNumber()
{
    return number;
}
void Invoice::setDescription(string descc)
{
    description = descc;
}
string Invoice::getDescription()
{
    return description;
}
void Invoice::setPrice(int prr)
{
    price = prr;
}
int Invoice::getPrice()
{
    return price;
}
void Invoice::setQuantity(int quann)
{
    quantity = quann;
}
int Invoice::getQuantity()
{
    return quantity;
}
void Invoice::getTotalAmount()
{
 sum = price*quantity;
cout << "Articul: " << getNumber() <<endl;
cout << "Name: " <<  getDescription() << endl;
cout << "Price: " << getPrice() << endl;
cout << "Quantity: " << getQuantity() << endl;
cout << "Sum: " << sum << endl;
}

main

int main()
{
Invoice myInvoice("BBFG", "Motor", 5000, 5);
myInvoice.getTotalAmount();

    return 0;
}
Answer 1

В конструкторе:

setNumber(num);
setDescription(des);

А то получается, что вы не используете переданные в конструктор переменные.

READ ALSO
Передача данных из одного окна в другое. QT C++

Передача данных из одного окна в другое. QT C++

Возникла такая проблема - не могу передать текст из QLineEdit в QLabelНе знаю, почему, вроде все сделал правильно, но вот не работает

183
Сделать запрос к сайту Java [закрыт]

Сделать запрос к сайту Java [закрыт]

Сделать запрос к сайту, полученную инфу записать в файл или если json распарсить

152
Android playlist vlc player

Android playlist vlc player

Воспроизвести несколько видео файлов (из интернета) в vlc playerВ mx player есть такое - video_list

129
Клиент не запускается повторно

Клиент не запускается повторно

Имеется сервер и клиентСервер может обрабатывать сразу несколько клиентов,но если клиенты закрываются,и заново подключаются то ничего не происходит

139