Programma sugli oggetti

di il
10 risposte

Programma sugli oggetti

Buongiorno, sono uno studente e dovrei fare un programma usando la programmazione ad oggetti, avendola il prof spiegata circa una settimana fa non sono ancora molto pratico quindi vi chiedo di aiutarmi.
Il programma chiede di creare una classe Persona in cui bisogna memorizzare Nome, Altezza e Peso e calcolare Massimo, Minimo e altezza media di tutte le persone inserite quindi ho creato nel main un vector <Persona> pp. Ho già letto tutti i dati ma mi sono fermato al calcolo di massimo, minimo e media perché devo creare un'altra classe in cui inserisco il massimo, minimo e media. La mia domanda è: Come faccio usando un metodo della classe i cui sono contenuti massimo, minimo e media a riferirmi ad esempio solo all'altezza contenuta nel vector della classe Persona?
Grazie.

10 Risposte

  • Re: Programma sugli oggetti

    Ho già letto tutti i dati ma mi sono fermato al calcolo di massimo, minimo e media perché devo creare un'altra classe in cui inserisco il massimo, minimo e media.
    Perchè dovresti creare una classe in cui inserire massimo, minimo e media delle altezze?
  • Re: Programma sugli oggetti

    Mi è stato detto dal prof di fare così, dentro quella classe devo mettere il massimo minimo e media sia di altezza e peso e i vari metodi per calcolare e stampare massimo, ecc...
  • Re: Programma sugli oggetti

    Continuo a non vederne l'utilità... per curiosità come la chiameresti una classe del genere? Come chiameresti invece le singole istanze di questa classe?

    In ogni caso se vuoi un aiuto posta la struttura che deve avere questa classe, ossia i vari dati membro e metodi previsti.
  • Re: Programma sugli oggetti

    Devo ancora farla perché inizialmente avevo fatto tutto in una classe quindi dovrei farla a parte quindi ti mando una cosa che magari non è sistematissima.
    
    class Caratteristiche
    {
    	float aMax = 0;
    	float aMin = 255;
    	float aMed = 0;
    
    	float pMax = 0;
    	float pMin = 0;
    	float pMed=0;
    
    
        public: void calcoloAMax(float Altezza) { if (Altezza > aMax) aMax = Altezza; }
        public: void calcoloAMin(float Altezza) { if (Altezza < aMin) aMin = Altezza; }
        public: void setAMed(float Altezza) { aMed = aMed + Altezza; }
        public: void calcoloAMed(int nPersone) { aMed = (aMed / nPersone); }
        public: float getAMax() { return aMax; }
        public: float getAMin() { return aMin; }
        public: float getAMed() { return aMed; }
    
        public: void calcoloPMax(float Peso) { if (Peso > pMax) pMax = Peso; }
        public: void calcoloPMin(float Peso) { if (Peso < pMin) pMin = Peso; }
        public: void setPMed(float Peso) { pMed = pMed + Peso; }
        public: void calcoloPMed(int nPersone) { pMed = (pMed / nPersone); }
        public: float getPMax() { return pMax; }
        public: float getPMin() { return pMin; }
        public: float getPMed() { return pMed; }
    
    };
    
    Una cosa del genere, quello che ho chiesto mi serviva sostanzialmente per cercare un modo di inizializzare ad esempio l'altezza minima all'altezza della prima persona in modo da non fare errori e per il momento l'avevo inizializzata a 255 perché esprimo in centimetri essendo impossibile che una persona misuri 255 centimetri.
  • Re: Programma sugli oggetti

    In realtà, a memoria, è possibile (sul Guinness credo il record sia 272 cm).
    Ma, a parte questo, a parte la raffica di getter-setter del tutto inutili (suppongo che venga insegnato così), c'è un errore concettuale alla base.

    Se (e sottolineo se) il testo dell'esercizio è come riportato, allora potresti fare una classe "statistica" che riporta alcune informazioni riassuntive delle varie Persona.
    Potresti anche fare una classe PersonE (al plurale), invece che un vettore di personA.

    Sono approcci validi, dipende dal "taglio" didattico
  • Re: Programma sugli oggetti

    Eh avendola trattata da poco non ho molta vista sull'argomento quindi mi limito a seguire esempi del prof e ad adattarli al programma da fare quindi a volte non ti seguo benissimo tipo la classe statistica ma grazie comunque.
  • Re: Programma sugli oggetti

    Un oggetto è 'qualcosa' che incorpora una idea.
    tu vuoi
    ... Tante persona (classe)
    ... Un vettore di persona (più oggetti persona collegati tra di loro).

    Ma poi vuoi sapere altezza massima, minima e media.
    Queste informazioni dove le metti?
    potresti ad esempio fare un classe statistica
    Dove ci metterai altezza media, Minim, massima e, magari, un vettore di persone (o la struttura che sai usare)
  • Re: Programma sugli oggetti

    Ho strutturato così
    Una classe persona in cui metto nome, altezza e peso con un vettore di oggetti nel main(credo si chiami così non essendo molto pratico con l'argomento, sarebbe vector<Persona> pp) e tutti i metodi con cui li leggo e stampo.
    Una classe Caratteristiche in cui metto massimo, minimo e media di altezza e peso e i metodi con cui calcolarli e stamparli
  • Re: Programma sugli oggetti

    Ci può stare.
    idealmente in caratteristiche dovrebbe esserci il vettore di persone.

    Altrimenti, di chi sono i dati?
  • Re: Programma sugli oggetti

    Sisi giusto, quindi essendo praticamente agli inizi ci può stare?
Devi accedere o registrarti per scrivere nel forum
10 risposte