Oppure

Loading
17/11/13 9:37
Pedroa
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
aaa
17/11/13 10:06
nessuno
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 ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
17/11/13 10:07
Poggi Marco
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.
aaa
17/11/13 10:15
Pedroa
Scusate ho sbagliato nella classe ho al posto di width e height ho messo w e h
aaa
17/11/13 10:34
nessuno
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 17/11/13 10:38
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
17/11/13 11:30
Pedroa
come faccio a farceli arrivare?
aaa
17/11/13 11:45
nessuno
Su quale libro studi il C++ ?

Sai cosa è un costruttore ?

Sai cosa è un metodo ?
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
17/11/13 13:22
Pedroa
Sisi certo che so cosa sono
aaa