Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [C++] aiuto su classi

  1. #1

    [C++] aiuto su classi

    Salve raga, ho costruito un semplice programma, per iniziare a capire il concetto di classe.
    Questo programma dovrebbe gestire un Conto Corrente.
    Io ho fatto nel seguente modo, ma ho dei problemi, perche quando richiedo il "Saldo Conto", mi stampa il valore dell'ultimo depositamento che ho fatto (dato che metto la variabile tot=0).
    Potete aiutarmi??
    codice:
    # include <iostream>
    
    using namespace std;
    
    class Conto
    {
      public:         
      float tot; 
      
      void Cdeposita(float dep)
      {   
       tot=0;
       tot=tot+dep;
       cout << "Hai Depositato nel conto : "<<tot<<" euro"<< endl;
      } 
      
      void Csaldo()
      {
       cout << "Il tuo Saldo e' di " << tot << " euro"<< endl;
      }
        
    };
    
    int main()
    {
      int scelta; 
      float deposita,preleva; 
      while (scelta!=4)
      {
      cout <<"\n>>1<< Deposita" << endl;
      cout <<">>2<< Preleva" << endl;
      cout <<">>3<< Vedi Saldo" << endl;
      cout <<">>4<< ESCI" << endl;
      cin >> scelta;  
      Conto A1;
      
      if (scelta==1)
                    {
                     cout << "Quanto vuoi depositare ?" << endl;
                     cin >> deposita;
                     A1.Cdeposita(deposita);
                    } 
              
                    
      if (scelta==3)
                    {
                     A1.Csaldo();                                                   
                    }              
      }            
                          
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481

    Re: [C++] aiuto su classi

    Originariamente inviato da Salvatore_91
    ultimo deposito ...

    Potete aiutarmi??
    Non impostare tot a 0 in quel metodo. Fallo nel costruttore della classe.

    P.S. Perche' chiami i metodi con una C iniziale ? E' meglio Deposito non CDeposito ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    e come dovrei fare di preciso??

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Stai studiando le classi e non sai cosa e' un costruttore?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    si so cos'e' un costruttore.
    e' una particolare funzione per allocare lo spazio necessario alle strutture dati dell'oggetto.

    Pero non so proprio come realizzarlo

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Salvatore_91
    si so cos'e' un costruttore.
    e' una particolare funzione per allocare lo spazio necessario alle strutture dati dell'oggetto.

    Pero non so proprio come realizzarlo
    Scusa Salvatore ... se sai cosa e' un costruttore (anche se non serve solo a fare quello che hai detto) vuol dire che l'hai studiato ...

    Perche' non fai un esempio di quello che hai studiato ?

    Il costruttore che ti serve e' un semplice

    codice:
    Conto()
    {   
       tot=0.0;
    }
    Ma ci sono altri errori nel tuo codice ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Ok, ti ringrazio, io ho fatto cosi', adesso funziona.

    Pero se magari ci dai un'occhiata e mi dici cosa ne pensi, ti sarei grato.

    codice:
    # include <iostream>
    
    using namespace std;
    
    class Conto
    {
      public:         
      float tot;
      
      void InizializzaConto()
      {
       tot=0;
      }
      
      void Deposita(float dep)
      {
       tot=tot+dep;
      }
      
      void Preleva(float prel)
      {
       if (prel>tot)
                    cout << "Impossibile prelevare questa quantita" << endl;
                    else
                    tot=tot-prel;
      }
      
      void VisualizzaSaldo()
      {
       cout << "Il tuo saldo e' "<< tot << " euro" << endl;
      }
         
    };
    
    int main()
    {
      int scelta; 
      float deposita,preleva; 
      deposita=0;
      preleva=0;
      Conto A1; 
      A1.InizializzaConto();
      cout << "Creazione Conto effettuata con Successo" << endl << endl;
      
      while (scelta!=5)
      {
      cout <<">>1<< Deposita" << endl;
      cout <<">>2<< Preleva" << endl;
      cout <<">>3<< Visualizza Saldo" << endl;
      cin >> scelta;  
                        
      if (scelta==1)
                    {
                     cout << "Quanto vuoi depositare? ";
                     cin >> deposita;
                     A1.Deposita(deposita);                
                    } 
                    
      if (scelta==2)
                    {
                     cout << "Quanto vuoi prelevare ?" << endl;
                     cin >> preleva;
                     A1.Preleva(preleva);       
                    }         
                    
      if (scelta==3)
                    {
                     A1.VisualizzaSaldo();
                    }                            
      }  
      system("PAUSE");
    }

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Salvatore_91
    Ok, ti ringrazio, io ho fatto cosi', adesso funziona.
    Ma non hai usato il costruttore !

    Le correzioni in rosso ...

    codice:
    #include <iostream>
    
    using namespace std;
    
    class Conto
    {
      
      private:
         float tot;
    
      public:         
      
         Conto()
         {
            tot=0.0;
         }
    
      
         void Deposita(float dep)
         {
            tot=tot+dep;
         }
      
         void Preleva(float prel)
         {
           if (prel>tot)
                    cout << "Impossibile prelevare questa quantita" << endl;
           else
                    tot=tot-prel;
         }
      
         void VisualizzaSaldo()
         {
            cout << "Il tuo saldo e' "<< tot << " euro" << endl;
         }
    };
    
    int main()
    {
      int scelta=0; 
      float deposita,preleva; 
      Conto A1; 
    
      cout << "Creazione Conto effettuata con Successo" << endl << endl;
      
      while (scelta!=5)
      {
      cout <<">>1<< Deposita" << endl;
      cout <<">>2<< Preleva" << endl;
      cout <<">>3<< Visualizza Saldo" << endl;
      cin >> scelta;  
                        
      if (scelta==1)
                    {
                     cout << "Quanto vuoi depositare? ";
                     cin >> deposita;
                     A1.Deposita(deposita);                
                    } 
                    
      if (scelta==2)
                    {
                     cout << "Quanto vuoi prelevare ?" << endl;
                     cin >> preleva;
                     A1.Preleva(preleva);       
                    }         
                    
      if (scelta==3)
                    {
                     A1.VisualizzaSaldo();
                    }                            
      }  
    
      cin >> scelta;
      return 0;
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    ok ti ringrazio. ora ho capito

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.