ho le idee moltooo confuse cmq puoi darmi una mano? adesso il .cpp risulta così:

Codice PHP:
// GradeBook.cpp
// Definizione delle funzioni membro per la classe GradeBook,
// utilizzando un array per memorizzare i voti degli stuedenti.

#include <iostream>
using namespace std;      

#include <iomanip>
using namespace std;

#include <fstream.h>

#include <string.h> // per memorizzare output su file

#include "GradeBook.h" // definizione della classe GradeBook

// Costruttore inizializza il dato privato courseName e l'array di voti
GradeBook::GradeBook(string name,const int *gradesArray)
{
    
setCourseName(name); // inizializza courseName

   // copia i voti del gradeArray ai voti del dato membro
   
int strcpy(int gradesint gradesArray);
}

// funzione per settare il nome del corso
void GradeBook::setCourseName(string name)
{
    
courseName=name// memorizza il nome del corso
   
}
// funzione per ottenere il nome del corso
string GradeBook::getCourseName()
{
    return 
courseName;
}

// stampa un messaggio di benvenuto nel registro dei voti
void GradeBook::displayMessage()
{
  
    
cout << "Benvenuti al registro per\n" << getCourseName() << "!" << endl;
}

// effettua vare operazioni sui dati
void GradeBook::processGrades()
{
     
   
// visualizza l'output dell'array dei voti
   
cout<<"L'array Š: ";
  for(
int u=0;u<10;u++)
  
cout<<grades[u]<<"\t";
  
cout<<endl;
   
// chiama la funzione getAverage() per ottenere la media dei voti
   
getAverage();

   
// chiama le funzioni per ottenere il voto min e massimo
   
getMinimum();
   
getMaximum();

   
// chiama la funzione outputBarChart per stampare a video il grafico della
   // distribuzione dei voti
   
outputBarChart();
   
   
}

// trova il voto minimo
int GradeBook::getMinimum()
{
   
int lowGrade=100;// assume il più basso sia 100

   // esegue il loop di ricerca nell'array
   
for(int w=0;w<10;w++)
   {
      
// se il voto corrente è più basso del lowGrade, assegnalo a lowGrade
    
if(grades[w]<lowGrade)
       
grades[w]=lowGrade;
   }
    
cout<<"Il voto piu' basso Š: "<<lowGrade<<endl// restituisce il voto più basso
    
}

// trova il voto massimo
int GradeBook::getMaximum()
{
  
int highGrade=0// assume che il voto più alto sia 0

   // esegue il loop di ricerca nell'array dei voti
   
for(int y=0;y<10;y++)
   {
      
// se il voto corrente è più alto di highGrade, assegnalo a highhGrade
     
if(grades[y]>highGrade)
        
grades[y]=highGrade// nuovo voto più alto
   
}

   
cout<<"Il voto piu' alto Š: "<<highGrade<<endl// restituisce il voto più alto
}     

// determina il voto medio test
double GradeBook::getAverage()
{
       
int average;
   
int total// iniz. il tot.

   // somma i voti dell array sono int!
   
for(int r=0;r<students;r++)
      
total=total+grades[r];

   
// ritorna il voto medio 
   
average=total/10;
}

// visualizza il grafico con la distribuzione dei voti
void GradeBook::outputBarChart()
{
   
cout<<"GRAFICO CON LA DISTRIBUZIONE DEI VOTI"<<endl<<endl;

   
// registra le frequenza dei voti con scala ogni 10
   
const int frequencySize 11;
   
int frequencyfrequencySize ] = { };

   
// per ogni voto, incrementa l'appropriata frequenza
   
for(int grade=0;grade<students;grade++)
      
frequencygradesgrade ] / 10 ]++;

   
// per ogni frequenza, stampa il relativo * nel grafico istogramma
   
for ( int count 0count frequencySizecount++ ) 
   {
      
// etichette del grafico ("0-9:", ..., "90-99:", "100:" )
      
if ( count == )
         
cout << "  0-9: ";
      else if ( 
count == 10 )
         
cout << "  100: ";
      else
         
cout << count 10 << "-" << ( count 10 ) + << ": ";
      
      
// stampa gli asterischi
       
for (int j=0j<grades[count]; j++) 
         
cout << '*';

      
cout << endl// va a capo ogni riga
   
// fine grafico
}

// stampa il contenuto dell'array dei voti.
void GradeBook::outputGrades()
{
   
cout << "\nI voti sono:\n\n";
   
   
// stampa ogni voto dello studente
   // QUESTO DOVRA ESSERE PRESEnTE ANCHE NEL FILE OUTPUT DI FREQUENZA.TXT
   
for(int student=0;student<students;student++)
   {
      
cout << "Studente " << setw) << student << ": " << setw)
         << 
gradesstudent ] << endl;  
         }
                 
         
}
// Funzione che salva nel file l'output a video del nome del corso, numero di studenti
// e dei voti
int GradeBook::salva(const char *)
{
    
ofstream outfile ("frequenza.txt");
  if (
outfile.is_open())
  {
    
outfile<<"PRISMA SRL: Corso di Introduzione alla programmazione C e C++\nESAME DICEMBRE 2008"<<endl;
    
outfile << "Numero di studenti: " << students << endl;
    
outfile << "Voti prove esame corso di programmazione " << endl;
    for ( 
int student 0student studentsstudent++ )
    {
        
outfile << gradesstudent ] << endl;
    }
}
    return 
0;
// fine funzione salva 
ADESSO ALMENO PARTE L'ESEGUIBILE MA A QUANTO APRE HO IDENTIFICATO IL PROBLEMA FINALE CIOE' QUANDO VISUALIZZA L'ARRAY GRADES[] CHE HO COPIATO DA GRADESARRAY[] CON LA FUNZIONE STRCPY() HO SBAGLIATO PERCHE' L'ARRAY GRADES MI RISULTA UN INSIEME DI NUMERI INCOMPRENSIBILI TIPO 22205060,55070670,0,... QUINDI VI CHIEDO L'ULTIMO AIUTO COME COPIO L'ARRAY GRADESARRAY[] NEL DATO MEMBRO GRADES[]?