// File: portafoglio.cpp
//
// Definizione dei metodi della classe Portafoglio

#include <iostream>
#include "portafoglio.h"

using namespace std;

void Portafoglio::inserisci(double valore, int n) {
    if (valore == 5.00)
        num_banconote_5euro += n;
    else if (valore == 10.00)
        num_banconote_10euro += n;
    else if (valore == 20.00)
        num_banconote_20euro += n;
    else
        Portamonete::inserisci(valore, n);
}

double Portafoglio::denaro() {
    return banconote() + Portamonete::denaro();
}

void Portafoglio::denaropertipo() {
    Portamonete::denaropertipo();
    cout << "Banconote da 5 Euro: " << num_banconote_5euro << endl;
    cout << "Banconote da 10 Euro: " << num_banconote_10euro << endl;
    cout << "Banconote da 20 Euro: " << num_banconote_20euro << endl;
}

double Portafoglio::banconote() {
    return num_banconote_5euro * 5.00 + num_banconote_10euro * 10.00 +
         num_banconote_20euro * 20.00;
}

Portafoglio::Portafoglio() :
    Portamonete(), num_banconote_5euro(0), num_banconote_10euro(0),
    num_banconote_20euro(0) {}
    
Portafoglio::Portafoglio(int num_50cent, int num_1euro, int num_2euro, int num_5euro, int num_10euro, int num_20euro) :
    Portamonete(num_50cent, num_1euro, num_2euro), num_banconote_5euro(num_5euro), num_banconote_10euro(num_10euro),
    num_banconote_20euro(num_20euro) {}