Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [c] Non riesco a capire il problema

    codice:
    // 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???

  2. #2
    scusate se ho postato il codice in quella maniera ma non so come fare

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465

    Moderazione

    Originariamente inviato da elialongoni04
    scusate se ho postato il codice in quella maniera ma non so come fare
    Prova a leggere il Regolamento come ti è stato suggerito più volte, così forse indichi titoli più significativi e formatti il codice come si deve.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.