#include <stdio.h>
#include <stdlib.h>
#define N 3
/*
Si scriva un programma in linguaggio C che tramite:
la funzione leggi(), legga a terminale i dati di N corsi (con N definito come la costante 3) costituiti da NomeCorso, NomeDocente, VotoMedio, e li inserisca in un vettore V;
determini, con la funzione piu_facile(), quale tra i corsi ha il voto medio più alto e stampi il nome di tale corso a terminale.
*/
struct co
{
char NomeCorso[30];
char NomeDocente[30];
int VotoMedio;
};
typedef struct leggi Corso;
void leggi(int n, struct co vet[]);
int pfacile(int n, struct co vet[]);
main()
{
int i;
struct co V[N];
leggi (N, V);
for(i=0;i<2;i++)
{
printf ("%s %s", V[i].NomeCorso,V[i].NomeDocente);
}
i = pfacile (N, V);
printf ("%d", V[i].NomeCorso);
}
void leggi(int n, struct co vet[])
{
int i;
for(i=0;i<3;i++)
{
printf("\nNome Corso:\t", vet[i].NomeCorso);
scanf("%s", &vet[i].NomeCorso);
printf ("Nome Docente:\t", vet[i].NomeDocente);
scanf("%s", &vet[i].NomeDocente);
printf ("Voto Medio:\t", vet[i].VotoMedio);
scanf ("%s", &vet[i].VotoMedio);
}
}
int pfacile(int n, struct co vet[])
{
int i,max;
for (i=0;i<3;i++)
{
if ((vet[i].VotoMedio) > (vet[max].VotoMedio)) max = i;
}
return max;
}
Il problema in questo codice è che quando lo esegui mi fa sì scegliere tutti i 3/4 relativi corsi, nomi docenti e voti. Il problema è che nel risultato mi printa il corso più facile, cioè quello col voto più alto. Poi subito dopo il corso a metà, cioè quello a difficoltà media seguito da una serie di numeri. Perchè? Dov'è l'errore?:/