Confronto oggetti

di il
2 risposte

Confronto oggetti

Salve, ho da poco iniziato la parte di OOP del C++ e sto facendo un programma per la gestione di un magazzino utilizzando due classi (Prodotto e Magazzino). Le funzioni che ho implementato sono aggiunta del prodotto, eliminazione e stampa lista prodotti. Il problema è che non riesco a capire come fare la ricerca del prodotto ed eliminarlo in quanto non riesco a confrontare 2 oggetti (quelli presenti nella lista e quello che eliminare).

Posto il codice della classe Magazzino in quanto Prodotto la uso solo per creare appunto l'oggetto da inserire nell'array che viene gestito da Magazzino


#include "Magazzino.h"
#include <iostream>
#include <string>
#include <iomanip>


Magazzino::Magazzino(std::string magazzino) :
magazzino(magazzino) {

    this->magazzino = magazzino;
}

void Magazzino::inserisci_prodotto(Prodotto p) {

    if (cont < NUM_PRODOTTI) {
        prodotto[cont] = p;
        cont++;
    } else {
        std::cout << "Magazzino pieno" << std::endl;
    }

}

void Magazzino::elimina_prodotto(Prodotto p) {

    for (int i = 0; i < cont; i++) {
        if (prodotto[i] == p) {
            for (int j = i; i < cont - 1; j++) {
                prodotto[j] = prodotto[j + 1];
            }
        }
    }


}

void Magazzino::visualizza_prodotti_magazzino() {

    std::cout << "Descrizione" << std::setw(10)
            << "Prezzo" << std::setw(20)
            << "Reparto" << std::endl;

    for (int i = 0; i < cont; i++) {
        std::cout << prodotto[i].GetDescrizione() << std::setw(10)
                << prodotto[i].GetPrezzo() << " €" << std::setw(20)
                << prodotto[i].GetReparto() << std::endl;
    }

}






2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte