Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicit e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Funzione area e perimetro
Forum - C/C++ - Funzione area e perimetro

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Pedroa (Normal User)
Newbie


Messaggi: 10
Iscritto: 13/11/2013

Segnala al moderatore
Postato alle 10:37
Domenica, 17/11/2013
Io ho una classe con 2 campi privati che sono l'altezza e la lunghezza di un box e io devo calcolare l'area pero quando compilo il mio codice mi vengono numeri sbagliati.
Questo il mio codice:



#include <iostream>
#include <stdlib.h>
using namespace std;
#include <Box.h>


/*class Box
   {
        private:
            int width;
            int heigth;
        public:
            int area();
            int perimetro();


    };*/
int Box::area( ){

    return w*h;

};

int Box::perimetro( ){

    return (2*w)+(2*h);

}
int main()
{   int a,b;
    cout << "inserisci l'altezza : \n" << endl;
    cin >> a;
    cout << "inserisci la lunghezza : \n" << endl;
    cin >> b;
    Box box;
    box.area( );
    box.perimetro( );


    cout << "Il perimetro del riquadro : " << box.perimetro() << endl;
    cout << "L'area del riquadro : " << box.area () << endl;


    system("PAUSE");
    return 0;
}





ho fatto un file . cpp dove c' dentro i due metodi e il main e poi ho fatto un altro file dove c' la classe Box.h

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:06
Domenica, 17/11/2013
Ma sei sicuro di avere compilato questo codice senza errori? Non possibile ...

I due campi privati si chiamano width e heigth e poi utilizzi w e h nei metodi ... non ha senso.

E poi non passi mai i valori a e b all'oggetto creato ... come pu fare il calcolo?


Ricorda che nessuno obbligato a risponderti e che nessuno perfetto ...
PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 951
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 11:07
Domenica, 17/11/2013
Ciao!

L' area e il perimetro sono calcolati in modo scorretto perch i campi width e heigth della classe non sono valorizzabili, n inizializzabili.
Implementa almeno un costruttore.


Nulla va pi veloce della luce, quindi rilassati.
PM Quote
Avatar
Pedroa (Normal User)
Newbie


Messaggi: 10
Iscritto: 13/11/2013

Segnala al moderatore
Postato alle 11:15
Domenica, 17/11/2013
Scusate ho sbagliato nella classe ho al posto di width e height ho messo w e h

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:34
Domenica, 17/11/2013
Quando posti del codice fai attenzione altrimenti non si capisce nulla e si perde tempo.

In ogni caso, i campi w e h non sono mai valorizzati.

Per capirci, i valori di a e b come ci arrivano in w e h ? Per magia ?

Ultima modifica effettuata da nessuno il 17/11/2013 alle 11:38


Ricorda che nessuno obbligato a risponderti e che nessuno perfetto ...
PM Quote
Avatar
Pedroa (Normal User)
Newbie


Messaggi: 10
Iscritto: 13/11/2013

Segnala al moderatore
Postato alle 12:30
Domenica, 17/11/2013
come faccio a farceli arrivare?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 12:45
Domenica, 17/11/2013
Su quale libro studi il C++ ?

Sai cosa un costruttore ?

Sai cosa un metodo ?


Ricorda che nessuno obbligato a risponderti e che nessuno perfetto ...
PM Quote
Avatar
Pedroa (Normal User)
Newbie


Messaggi: 10
Iscritto: 13/11/2013

Segnala al moderatore
Postato alle 14:22
Domenica, 17/11/2013
Sisi certo che so cosa sono

PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 951
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 14:52
Domenica, 17/11/2013
Testo quotato

Postato originariamente da Pedroa:

Sisi certo che so cosa sono



Interessante...

Perch non li usi?
In alternativa rendi tutto il contenuto della classe publico.


Nulla va pi veloce della luce, quindi rilassati.
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo