Ciao a tutti allora io ho un codice in c++ scritto da me solo che ho un problema se guardate nel sottoprogramma visualizzaalunni ci sono diversi cicli for per visualizzare per ogni materia 4 voti solo che quando faccio la visualizzazione mi restituisce ad esempio i 2 alunni che ho acquisito ma con i voti del secondo alunno acquisito non capisco il perche:
codice:#include <iostream> #include <stdlib.h> #include <string.h> #include <conio.h> using namespace std; typedef char Tstring20[21]; typedef char Tstring25[26]; typedef char Tstring15[16]; typedef float tvettfloat[4]; typedef char vuoto[1]; struct Talunno{ Tstring20 nome; Tstring25 cognome; Tstring15 classe; float scritto1quad; float orale1quad; float pratico1quad; float scritto2quad; float orale2quad; float pratico2quad; int numass1; int numass2; }; typedef Talunno Tregistro[33]; void acquisiscialunni(Tregistro &alunni, int &N){ int I,i,j,f,s,d,c,sommatotass; vuoto a; do{ cout<<"Inserisci quanti alunni acquisire: "; cin>>N; cin.getline(a,1); }while((N<1)||(N>32)); for(I=0;I<N;I++){ cout<<endl; cout<<I+1<<char(248)<<" alunno "<<endl; cout<<endl; cout<<"Nome: "; cin.getline(alunni[I].nome,20); cout<<"Cognome: "; cin.getline(alunni[I].cognome,25); cout<<"Classe: "; cin.getline(alunni[I].classe,15); cout<<endl; cout<<"Assenze 1 "<<char(248)<<" quadrimestre: "<<endl; cout<<endl; cout<<"Assenze: "; cin>>alunni[I].numass1; cout<<endl; cout<<"Assenze 2 "<<char(248)<<" quadrimestre: "<<endl; cout<<endl; cout<<"Assenze: "; cin>>alunni[I].numass2; sommatotass = (alunni[I].numass1 + alunni[I].numass2); cout<<endl; cout<<"Scritto 1"<<char(248)<<" quadrimestre: "<<endl; cout<<endl; for(i=0;i<4;i++){ cout<<"Scritto: "; cin>>alunni[i].scritto1quad; } cout<<endl; cout<<"Orale 1"<<char(248)<<" quadrimestre: "<<endl; cout<<endl; for(j=0;j<4;j++){ cout<<"Orale: "; cin>>alunni[j].orale1quad; } cout<<endl; cout<<"Pratico 1"<<char(248)<<" quadrimestre: "<<endl; cout<<endl; for(f=0;f<4;f++){ cout<<"Pratico: "; cin>>alunni[f].pratico1quad; } cout<<endl; cout<<"Scritto 2"<<char(248)<<" quadrimestre: "<<endl; cout<<endl; for(s=0;s<4;s++){ cout<<"Scritto: "; cin>>alunni[s].scritto2quad; } cout<<endl; cout<<"Orale 2"<<char(248)<<" quadrimestre: "<<endl; cout<<endl; for(d=0;d<4;d++){ cout<<"Orale: "; cin>>alunni[d].orale2quad; } cout<<endl; cout<<"Pratico 2"<<char(248)<<" quadrimestre: "<<endl; cout<<endl; for(c=0;c<4;c++){ cout<<"Pratico: "; cin>>alunni[c].pratico2quad; cin.getline(a,1); } } } void visualizzaalunni(Tregistro alunni, int N){ int I,i,j,f,s,d,c,p; for(I=0;I<N;I++){ cout<<I+1<<char(248)<<" alunno "<<endl; cout<<endl; cout<<"Nome: "<<alunni[I].nome<<endl; cout<<"Cognome: "<<alunni[I].cognome<<endl; cout<<"Classe: "<<alunni[I].classe<<endl; cout<<endl; cout<<"Assenze 1 "<<char(248)<<" quadrimestre: "<<endl; cout<<endl; cout<<"Assenze: "<<alunni[I].numass1<<endl; cout<<endl; cout<<"Assenze 2 "<<char(248)<<" quadrimestre: "<<endl; cout<<endl; cout<<"Assenze: "<<alunni[I].numass2<<endl; cout<<endl; cout<<"Scritto 1"<<char(248)<<" quadrimestre: "<<endl; cout<<endl; for(i=0;i<4;i++){ cout<<"Scritto: "<<alunni[i].scritto1quad<<endl; } cout<<endl; cout<<"Orale 1"<<char(248)<<" quadrimestre: "<<endl; cout<<endl; for(j=0;j<4;j++){ cout<<"Orale: "<<alunni[j].orale1quad<<endl; } cout<<endl; cout<<"Pratico 1"<<char(248)<<" quadrimestre: "<<endl; cout<<endl; for(f=0;f<4;f++){ cout<<"Pratico: "<<alunni[f].pratico1quad<<endl; } cout<<endl; cout<<"Scritto 2"<<char(248)<<" quadrimestre: "<<endl; cout<<endl; for(s=0;s<4;s++){ cout<<"Scritto: "<<alunni[s].scritto2quad<<endl; } cout<<endl; cout<<"Orale 2"<<char(248)<<" quadrimestre: "<<endl; cout<<endl; for(d=0;d<4;d++){ cout<<"Orale: "<<alunni[d].orale2quad<<endl; } cout<<endl; cout<<"Pratico 2"<<char(248)<<" quadrimestre: "<<endl; cout<<endl; for(c=0;c<4;c++){ cout<<"Pratico: "<<alunni[c].pratico2quad<<endl; } } }

Rispondi quotando