25/05/08 14:18
biricchina1234
eccovi il programma:
/*File header: quadrila.h */
#ifndef QUADRILA
#define QUADRILA
class rombo {
protected:
int lato,altezza,;
public:
rombo();
void leggi_lato();
void leggi_altezza();
int perimetro();
int area();
int calcola_max();
};
#endif
/* File di implementazione: quadrila.cpp */
#include <iostream.h>
#include "QUADRILA.h"
rombo::rombo()
{
int lato;
lato=0;
int altezza;
altezza=0;
}
void rombo::leggi_lato()
{
cin>>lato;
}
void rombo::leggi_altezza()
{
cin>>altezza;
}
int rombo::perimetro()
{
return lato*4;
}
int rombo::area()
{
return lato*altezza;
}
int calcola_max(int vet[])
{
int max=0;
for(int i=1;i<4;i++)
{
if(vet[max]<vet[i])
{
max=i;
}
}
return max;
}
#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "QUADRILA.h"
int main()
{
rombo r[4];
int perimetri[4];
int aree[4];
int max_p;
int max_a;
for(int i=0;i<4;i++)
{
cout<<"lato del rombo numero "<<i+1<<" e': ";
r[i].leggi_lato();
cout<<"altezza del rombo numero "<<i+1<<" e': ";
r[i].leggi_altezza();
perimetri[i]=r[i].perimetro();
aree[i]=r[i].area();
}
max_p=calcola_max(perimetri);
max_a=calcola_max(aree);
if(max_p==max_a)
{
cout<<"Il rombo numero "<<max_p+1<<" ha il perimetro ("<<perimetri[max_p]<<" piu' grande.\n\n";
cout<<"Il rombo numero "<<max_p+1<<" ha l'area ("<<aree[max_a]<<" piu' grande\n\n";
}else
{
cout<<"Il perimetro piu' grande ("<<perimetri[max_p]<<" è del rombo numero "<<max_p+1<<" \n mentre l'area maggiore ("<<aree[max_a]<<" e' del quadrato numero "<<max_a<<"\n\n";
}
system("PAUSE"
}
/*File header: quadrila.h */
#ifndef QUADRILA
#define QUADRILA
class rombo {
protected:
int lato,altezza,;
public:
rombo();
void leggi_lato();
void leggi_altezza();
int perimetro();
int area();
int calcola_max();
};
#endif
/* File di implementazione: quadrila.cpp */
#include <iostream.h>
#include "QUADRILA.h"
rombo::rombo()
{
int lato;
lato=0;
int altezza;
altezza=0;
}
void rombo::leggi_lato()
{
cin>>lato;
}
void rombo::leggi_altezza()
{
cin>>altezza;
}
int rombo::perimetro()
{
return lato*4;
}
int rombo::area()
{
return lato*altezza;
}
int calcola_max(int vet[])
{
int max=0;
for(int i=1;i<4;i++)
{
if(vet[max]<vet[i])
{
max=i;
}
}
return max;
}
#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "QUADRILA.h"
int main()
{
rombo r[4];
int perimetri[4];
int aree[4];
int max_p;
int max_a;
for(int i=0;i<4;i++)
{
cout<<"lato del rombo numero "<<i+1<<" e': ";
r[i].leggi_lato();
cout<<"altezza del rombo numero "<<i+1<<" e': ";
r[i].leggi_altezza();
perimetri[i]=r[i].perimetro();
aree[i]=r[i].area();
}
max_p=calcola_max(perimetri);
max_a=calcola_max(aree);
if(max_p==max_a)
{
cout<<"Il rombo numero "<<max_p+1<<" ha il perimetro ("<<perimetri[max_p]<<" piu' grande.\n\n";
cout<<"Il rombo numero "<<max_p+1<<" ha l'area ("<<aree[max_a]<<" piu' grande\n\n";
}else
{
cout<<"Il perimetro piu' grande ("<<perimetri[max_p]<<" è del rombo numero "<<max_p+1<<" \n mentre l'area maggiore ("<<aree[max_a]<<" e' del quadrato numero "<<max_a<<"\n\n";
}
system("PAUSE"
}
aaa
25/05/08 16:10
gantonio
Guarda ... ci sono un bel po' di errori e inesattezze ... Preferisco postarti tutto il codice corretto in modo che tu lo esamini linea per linea e correzione per correzione ... se hai dubbi, chiedi ...
// quadrila.h #ifndef QUADRILA #define QUADRILA class rombo { protected: int lato,altezza; public: rombo(); void leggi_lato(); void leggi_altezza(); int perimetro(); int area(); int calcola_max(); }; #endif
// quadrila.cpp #include <iostream> #include "QUADRILA.h" using namespace std; rombo::rombo() { lato=0; altezza=0; } void rombo::leggi_lato() { cin>>lato; } void rombo::leggi_altezza() { cin>>altezza; } int rombo::perimetro() { return lato*4; } int rombo::area() { return lato*altezza; }
// main #include <stdio.h> #include <iostream> #include <stdlib.h> #include <string.h> #include <math.h> #include "QUADRILA.h" using namespace std; int calcola_max(int vet[]) { int max=0; for(int i=1; i<4; i++) if(vet[i]>vet[max]) max=i; return max; } int main() { rombo r[4]; int perimetri[4], aree[4]; int max_p, max_a; for(int i=0; i<4; i++) { cout<<"lato del rombo numero "<<i+1<<" e': "; r[i].leggi_lato(); cout<<"altezza del rombo numero "<<i+1<<" e': "; r[i].leggi_altezza(); perimetri[i] = r[i].perimetro(); aree[i] = r[i].area(); } max_p=calcola_max(perimetri); max_a=calcola_max(aree); if(max_p == max_a) { cout<<"Il rombo numero "<<max_p+1<<" ha il perimetro ("<<perimetri[max_p]<<") piu' grande.\n\n"; cout<<"Il rombo numero "<<max_p+1<<" ha l'area ("<<aree[max_a]<<") piu' grande\n\n"; } else { cout<<"Il perimetro piu' grande ("<<perimetri[max_p]<<") è del rombo numero "<<max_p+1<<" \n mentre l'area maggiore ("<<aree[max_a]<<") e' del quadrato numero "<<max_a<<"\n\n"; } system("PAUSE"); }
aaa
26/05/08 9:11
biricchina1234
grazie mille sei stato molto gentile ad aiutarmi..
ti chiedo un'ultima cosa..l'operazione
using namespace std;
a cosa serve?
ti chiedo un'ultima cosa..l'operazione
using namespace std;
a cosa serve?
aaa
26/05/08 9:56
gantonio
Quella linea serve a dichiarare il "namespace standard" in modo da poter utilizzare gli oggetti
cin
cout
senza dovere indicare il namespace per ognuna delle chiamate.
P.S. Rispetto al codice che ti avevo fornito, devi eliminare dalla classe la dichiarazione
int calcola_max();
perche' quel metodo non esiste nella classe ma e' una funzione globale.
cin
cout
senza dovere indicare il namespace per ognuna delle chiamate.
P.S. Rispetto al codice che ti avevo fornito, devi eliminare dalla classe la dichiarazione
int calcola_max();
perche' quel metodo non esiste nella classe ma e' una funzione globale.
Ultima modifica effettuata da gantonio 26/05/08 9:57
aaa