Divisione Main e Classi

di il
4 risposte

Divisione Main e Classi

Salve ragazzi ,
volevo sapere come dividere in più file un progetto in particolare dividere le classi dal main.cpp

Sto usando codeblocks e ho cosi suddiviso il progetto:
MAIN.cpp
#include <iostream>
#include "voti.h"
#include "voti.cpp"

#define MAX 100

using namespace std;


int main()
{
    voti v;
    v.inizializza();
        cout << "scrivi un numero negativo per terminare" << endl;
        for (int i=0; i < MAX; i++) {
    double voto;
    cout << “?”;
    cin >> voto;
    if ( voto < 0)
          break;
    v.inserisci (voto);
}
cout << endl << “massimo : ” << v.max();
cout << endl << “minimo : ” << v.min() << endl;
return 0;

}
voti.h

class voti
{
    double voti[MAX];
    int n; // numero dei voti inseriti
        public:
            bool inserisci(double v);
            void inizializza; // funzione di inserimento
            double max();
            double min();
}

e voti.cpp
#include "voti.h"

bool voti::inserisci(double v){
    if(N>=MAX || v<0)
        return false;
    voti[n++]=v;
    return true;
}
void voti:: inizializza (){
for (int=0; i<MAX; i++)
    voti[i]=0;
    n=0;
    }
    double voti:: max() {
        if (n==0) return -1; //errore nessun dato
        double m=voti[0];
        for(int i=1; i<n ; i++)
            if (voti[i]> m)
            m=voti[i];
        return m;
            }

            double Voti:: min () {
if (n ==0) return -1;  // errore: nessun dato !
double m = voti[0];
for (int i=1; i < n; i++)
   if ( voti[i] < m)
        m= voti[i];
 return m;
}
Il problema è che se compilo il main ho l'errore --> voti.h no such file o directory
Ovviamente i file sono in un unico progetto e non so dove sbaglio..
Sapete aiutarmi?

4 Risposte

  • Re: Divisione Main e Classi

    Non sono molto pratico del c++ ma credo che nel main devi includere solo il .h e non il .cpp

    A parte questo, in base al tuo codice i file devono trovarsi tutti nella stessa cartella: è così?

    ciao
  • Re: Divisione Main e Classi

    Risolto il problema era come dicevi il file non si trovava nella stessa cartella..
  • Re: Divisione Main e Classi

    Dipende da cos'è N:

    - Se è una costante: dichiarala dove hai dichiarato MAX;

    - Se è una variabile: non è che l'hai confusa con "n"? Comunque anche se così non fosse, dichiarala all'interno della classe.

    ciao
  • Re: Divisione Main e Classi

    dvaosta ha scritto:


    Dipende da cos'è N:

    - Se è una costante: dichiarala dove hai dichiarato MAX;

    - Se è una variabile: non è che l'hai confusa con "n"? Comunque anche se così non fosse, dichiarala all'interno della classe.

    ciao
    Si è una variabile ma semplicemente mi sono accorto di non aver dichiarato il tipo!
    Grazie!
Devi accedere o registrarti per scrivere nel forum
4 risposte