Qualcuno può aiutarmi con questo programma? in particolare l'ultima funzione!
scrivere un progrmma in c per la getione degli studienti del corso. per ogni studente memorizzare nome, cognome, nasciata, indirizzo e voto.il programma deve prevedere:
1) inserimento di un nuovo studente;
2) calcolo della media, minimo e massimo dei voti della prova initinere. le operazioni devono essere fatte per mezzo di funzioni.
typedef struct {
char nome[30];
char cognome[30];
char data[30];
int voto;
} studente;
studente* inserisci_studente(studente*lista, studente s);
void calcola (studente*, int*min, int*max, float*media);
int numero_studenti;
int main()
{
numero_studenti = 0;
int scelta, min,max;
float media;
studente s;
studente*lista;
do {
printf("Gestione studenti:\n");
printf("1:inserimento:\n");
printf("2: calcola media max min:\n");
printf("0: uscita:\n");
printf("scelta:");
scanf("%d", &scelta);
switch (scelta)
{
case 1:
printf("inserisci nome studente");
scanf("%s", s.nome);
printf("inserisci cognome studente");
scanf("%s", s.cognome);
printf("inserisci data nascita");
scanf("%s", s.data);
printf("inserisici indirizzo studente");
scanf("%s", s.voto);
lista = inserisci_studente(lista,s);
break;
case 2:
printf("il voto massimo é:\n");
scanf("%d", &max);
printf("il voto minimo é:\n");
scanf("%d", &min);
printf("la media dei voti è:\n");
scanf("%f", &media);
break;
} while(scelta!=0);
studente* inserisci_studente(studente*lista, studente s)
{
if(numero_studenti == 0) //nessun inserimento
{
lista = (studente*)malloc(sizeof(studente));
}
else {
lista = (studente*)realloc(lista, sizeof(studente)*(numero_studenti+1));
}
lista[numero_studenti]= s;
numero_studenti ++;
return lista;
}
void calcola(studente*lista, int*min, int*max,float*media)
{
*min=0; *max=0; *media=0;
int i, numero, somma=0
for (i=0; i<numero; i++)
{
if(i==0) {
*min = lista.voto;
*max = *min;
}
else
{
*max = lista .voto;
}
}
}
}