PDA

Visualizza la versione completa : [c] Non riesco a capire il problema


elialongoni04
11-05-2012, 15:29
// data la struttura studente con nome cognome voto orale voto scritto voto pratico di informatica,caricare la struttura //per ogni studente stampare la media,stampare lo studente con la media pių alta,studente con voto pių alto/basso //dire pure quelli rimandati #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct{char nome [20];char cognome [20];float votoo;float votos;float votop;}studente; main() { studente studenti[20]; int c,n=1,k,j,u,f,g; float somma,media[20],media1,votooM,votooB,votosM,votosB,votopM,votopB; char nome1[20],nome2[20],nome3[20]; for(c=0;c<3;c++) { printf("\nInserisci il nome,cognome del %d studente: ",n); scanf("%s",studenti[c].nome); scanf("%s",studenti[c].cognome); printf("\nINserisci il voto:\n-Orale,\n-Scritto,\n-Pratico:\n"); scanf("%f",&studenti[c].votoo); scanf("%f",&studenti[c].votos); scanf("%f",&studenti[c].votop); n++; } media[0]=(studenti[0].votoo+studenti[0].votos+studenti[0].votop)/3; media1=media[0]; votooM=studenti[0].votoo; votooB=studenti[0].votoo; votosM=studenti[0].votos; votosB=studenti[0].votos; votopM=studenti[0].votop; votopB=studenti[0].votop; for(c=0;c<3;c++) { media[c]=(studenti[c].votoo+studenti[c].votos+studenti[c].votop)/3; printf("\nLa media di %s %s e' %.2f",studenti[c].nome,studenti[c].cognome,media[c]); if(media[c]>media1) { media1=media[c]; k=c; } } printf("\nLa media piu' alta e' quella di %s %s con %.2f",studenti[k].nome,studenti[k].cognome,media1); for(c=0;c<3;c++) { if(studenti[c].votoo>votooM) { votooM=studenti[c].votoo; k=c; } if(studenti[c].votoo<votooB) { votooB=studenti[c].votoo; n=c; } if(studenti[c].votos>votosM) { votosM=studenti[c].votos; j=c; } if(studenti[c].votos<votosB) { votosB=studenti[c].votos; u=c; } if(studenti[c].votop>votopM) { votopM=studenti[c].votop; f=c; } if(studenti[c].votop<votopB) { votopB=studenti[c].votop; g=c; } } printf("\nVoto orale:\n-MAGGIORE: %s %s con %.1f;\n-MINORE: %s %s con %.1f;",studenti[k].nome,studenti[k].cognome,votooM,studenti[n].nome,studenti[n].cognome,votooB); printf("\nVoto scritto:\n-MAGGIORE: %s %s con %.1f;\n-MINORE: %s %s con %.1f;",studenti[j].nome,studenti[j].cognome,votosM,studenti[u].nome,studenti[u].cognome,votosB); printf("\nVoto pratico:\n-MAGGIORE: %s %s con %.1f;\n-MINORE: %s %s con %.1f;",studenti[f].nome,studenti[f].cognome,votopM,studenti[g].nome,studenti[g].cognome,votopB); printf("\n\nSONO RIMANDATI:"); for(c=0;c<3;c++) { if(media[c]<5.5) printf("\n- %s %s con %.2f ",studenti[c].nome,studenti[c ].cognome,media[c]); } system("pause"); }
il programma va in crash verso la fine(credo alla riga 83) e non riesco a capire il motivo, visto che č uguale a quella sopra(che funziona)...suggerimenti???

elialongoni04
11-05-2012, 15:30
scusate se ho postato il codice in quella maniera ma non so come fare :(

alka
11-05-2012, 15:35
Originariamente inviato da elialongoni04
scusate se ho postato il codice in quella maniera ma non so come fare :(

Prova a leggere il Regolamento (http://forum.html.it/forum/showthread.php?s=&threadid=973887) come ti č stato suggerito pių volte, cosė forse indichi titoli pių significativi e formatti il codice come si deve. :fagiano:

Loading