PDA

View Full Version : Aiuto programma c++


PurePoison
14-03-2011, 17:54
Ciao ragazzi!!
Qualcuno potrebbe darmi una mano a fare questo programma?

Letti da tastiera la matricola (20 caratteri), la qualifica (intero) ed il numero (intero) di ore lavorate in ciascun mese
dell'anno dei 500 dipendenti di una azienda, stampare il numero di ore medie mensili che i dipendenti con qualifica
q hanno lavorato nel mese m, con q ed m letti da tastiera.


#include <iostream.h>
typedef struct{char matricola[20];int qualifica,ore[12];}dipendenti;
const int n=3;int i,j;
void funz_read(dipendenti[]);
void funz_search(dipendenti[]);


main(){
dipendenti lista[n];
funz_read(lista);
funz_search(lista);


system("PAUSE");
}
//Lettura Dati
void funz_read(dipendenti lista[]){
for(i=0;i<n;i++){cout<<"inserire la matricola del dipendente "<<i+1<<": ";cin>>lista[i].matricola;
cout<<"inserire la qualifica del dipendente "<<i+1<<": ";cin>>lista[i].qualifica;
for(j=0;j<12;j++){cout<<"inserire le ore nel mese "<<j+1<<" del dipendente "<<i+1<<": ";cin>>lista[i].ore[j];}
}
}

//Media delle ore lavorative dei dipendenti con qualifica *q* nel mese *m*
void funz_search(dipendenti lista[]){
int cont=0,tot=0,q,m;float media;
cout<<"inserire mese: ";cin>>m;cout<<"inserire qualifica: ";cin>>q;
for(i=0;i<n;i++){if(lista[i].qualifica==q){tot+=lista[i].ore[m];cont++;}
}
media=tot/cont;
cout<<"la media e' "<<media<<"\n";
}





Ragazzi qeusto è il programma ma non va qlc potrebbe aiutarmi? Grazie!

Roran
14-03-2011, 20:46
devi creare l'oggetto dipendente nella posizione del vettore,quindi prima di assegnare i valori in lista[i] devi fare new dipendente()