Visualizzazione dei risultati da 1 a 4 su 4

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Per evitare equivoci e facilitare la correzione puoi postare tutto il codice in maniera che sia compilabile al primo colpo?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  2. #2
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Per evitare equivoci e facilitare la correzione puoi postare tutto il codice in maniera che sia compilabile al primo colpo?
    Eccoli:
    Conto Bancario.h
    codice:
    //classe base
    #ifndef Conto_Bancario_H
     #define Conto_Bancario_H
      #include <iostream>
      #include <string>
    class ContoBancario
    {
    protected:
           double saldo;
           std::string proprietarioConto;
    public:
          void show() const;
          ContoBancario(double , std::string);
          std::istream& operator>>(double ); //deposita sul conto
         void prelevaSoldi(double );
    };
    #endif // Conto_Bancario_H
    Conto Corrente.h
    codice:
    #ifndef CONTO_CORRENTE_H
     #define CONTO_CORRENTE_H
    #include "Conto Bancario.h"
    #include <iostream>
    #include <string>
    using std::string;
    using std::istream;
    using std::ostream;
    
    class ContoCorrente : public ContoBancario
    {
    public: 
    /*
     * Contocorrente 
     * @param 
     * 1 Saldo inziale = 0.0
     * 2 Costo per ogni operazione = 0.0
     * 3 Intestatario conto  = ""
     */
    ContoCorrente(double = 0.0, double = 0.0, string = ""); //avverti in caso di 0 per parametro due
    void prelevaSoldi(double);
    private:
    double costo_op;  
    };
    #endif
    Conto Bancario.cpp
    codice:
    #include "Conto Bancario.h"
    #include <string>
    #include <iostream>
    using namespace std;
    
    
    ContoBancario::ContoBancario(double _saldo, string proprietario)
    {
    
    
      saldo = (_saldo > 0 ? _saldo : 0);
      proprietarioConto = (proprietario.length() > 0 ? proprietario : "");
      if (saldo != 0 && proprietarioConto.length() >= 0)
      {
        std::cout << "Il conto a nome " << proprietarioConto << " contenente " << saldo << " euro è stato creato con successo." << endl;
      } 
    }
    
    
    void ContoBancario::prelevaSoldi(double importo)
    {
      
     if(importo == 0) 
          cout << "Perché prelevare 0 euro?" << endl;   
     
       else if (importo <= saldo){
         cout << importo << (importo == 1 ? " euro è stato prelevato.\n" :  " euro sono stati prelevati.\n");
         saldo = saldo - importo;    
      }
       
       else
          cerr << "Non puoi prelevare più di quanto hai!" << endl;
       
      
    }
    
    
    
    
    istream& ContoBancario::operator>>(double importo)
    {
      saldo = saldo + importo;
      cout << importo << (importo > 1 ?" euro sono stati aggiunti.\n" : " euro è stato aggiunto.\n"  );
      
    }
    
    
    void ContoBancario::show() const
    {
    
    
      cout << "Il conto a nome " << proprietarioConto 
           << " contiene " << saldo << " euro."<< endl;
      
    }
    Conto Corrente.cpp
    codice:
    #include <iostream>
    #include "Conto Bancario.h"
    #include "Conto Corrente.h"
    #include <cstdlib>
    
    
    using namespace std;
    
    ContoCorrente::ContoCorrente(double saldo , double costoOP , string owner ) :  ContoBancario(saldo, owner )
    {
      if (costoOP < 0){
        cout << "Il costo per operazione non può essere inferiore di 0." << endl;
        exit(-1);   
      }
      else
        costo_op = costoOP;
        
      cout << "Dati attuali:" << endl
           << "\tIntestatario: " << ContoBancario::proprietarioConto << endl
           << "\tSaldo: " << ContoBancario::saldo << endl
           << "\tCosto per operazione: " << costo_op << endl;
    }
    
    
    void ContoCorrente::prelevaSoldi(double _importo )
    {
     if ( (_importo + costo_op ) <= ContoBancario::saldo   ){
       ContoBancario::prelevaSoldi( _importo + costo_op );
     
     }
     else
     cerr << "Non puoi prelevare più di quanto hai!" << endl;
      
    }
    Ma che fine hanno fatto gli spoiler?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.