I have issue with this task. I dont know how to make it correctly
Make Invoice class with:
• List of purchased goods - associative array (map) with Stock key object and its price value
• methods for adding and removing goods
The code i have
Code:
#include"Stock.h"
#include <string>
#include<map>
class Invoice
{
int numberInvoice;
int dateIssue;
std::map<Stock, double> goods;
public:
Invoice();
Invoice(int _numberInvoice, int _dateIssue, std::map<Stock, double> _goods);
// get,set ();
int getNumberInvoice() const;
int getDateIssue() const;
std::map<Stock, double> getGoods() const;
void setNumberInvoice(int _numbInvoice);
void setDateIssue(int _dIssue);
void setGoods(std::map<Stock, double> _goods);
void addGood(Stock s, int num);
std::map<Stock, double>::iterator it = goods.begin();
void display()const;
};
Code:
#include "Invoice.h"
Invoice::Invoice(int _numberInvoice, int _dateIssue, std::map<Stock, double> _goods)
{
numberInvoice = _numberInvoice;
dateIssue = _dateIssue;
goods = _goods;
}
int Invoice::getNumberInvoice() const
{
return numberInvoice;
}
int Invoice::getDateIssue() const
{
return dateIssue;
}
std::map<Stock, double> Invoice::getGoods() const
{
return goods;
}
void Invoice::setNumberInvoice(int _numbInvoice)
{
numberInvoice = _numbInvoice;
}
void Invoice::setDateIssue(int _dIssue)
{
dateIssue = _dIssue;
}
void Invoice::setGoods(std::map<Stock, double> _goods)
{
goods = _goods;
}
void Invoice::addGood(Stock s, int num)
{
goods[s] += num;
}
void Invoice::display() const
{
std::cout << "\nInvoice " << numberInvoice << '\n';
std::cout << "Date of issue " << dateIssue << '\n';
std::cout << "Goods:\n";
std::cout << "Code\t" << "Name\t" << "vpu\t" << "Num\t" << "Value\n";
}