Salve! Non riesco a capire perché il programma non va, ho provato a cercare in giro, ma non riesco a trovare nulla. L'esercizio per i più esperti è banalissimo, ma per persone come me che hanno appena iniziato è abbastanza difficile.
Il codice:
#include <stdio.h>
#include <string.h>
struct studenti{
char nome[30];
float voto;
};
struct studenti studente[100];
int i=0,a=0,c=0;
float max,min=9999999,media=0;
char stop[]="Stop";
void stampa();
int main(){
printf("\n\t\t\t\t\tBenvenuto!\n\n");
printf("Questo programma calcola il voto massimo, minimo e medio di un certo numero di studenti");
printf("\nPer fermare il programma digitare 'Stop' alla richiesta del nome");
do{
printf("\nInserire NOME e COGNOME dello studente: ");
scanf("%s", &studente[i].nome);
if(strcmp (stop,studente[i].nome) == 0){
stampa();
}
printf("Inserisci voto: ");
scanf("%f", &studente[i].voto);
if(studente[i].voto > max) {
max = studente[i].voto;
}
if(studente[i].voto < min){
min = studente[i].voto;
}
i++;
media=media+studente[i].voto;
c++;
}while(a=0);
return 0;
}
void stampa(){
for(int b=0; b<i; b++){
printf("\nNome studente: %s Voto: %f",studente[b].nome,studente[b].voto);
printf("Voto massimo: %.2f", max);
printf("Voto minimo: %.2f", min);
media=media/c;
printf("Voto medio: %.2f", media);
break;
}
}
Esercizio:
Algoritmo riceve in input: Nomee Cognome e Voto. Calcola la media dei voti, il voto massimo e il voto minimo. Stop, per interrompere l'immissione dei dati. Creare una struttura per memorizzare il nome e il voto di ciascuna persona. Alla fine, a richiesta dell’utente, il programma stampa i seguenti dati: Nome, Voto , la media, il voto max e il voto min.
Grazie!