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;
}
}
}