#include <stdio.h>#define N 2struct lista {char nom[40];long mat[30];float prom[40];};struct lista alumnos[N];void lee_struct();char promedio();void escribe();char promedio(){ int i; char sresultado[40]; for (i=0;i<N;i++){ if (alumnos[i].prom > alumnos[i+=1].prom) strcpy (sresultado,alumnos[i].nom); else if (alumnos[i].prom < alumnos[i+=1].prom) strcpy (sresultado,alumnos[i=+1].nom); } printf("\nEl alumno de mejor promedio es: %s\n",sresultado);return 0;}int main(){lee_struct();escribe();return 0;;}void lee_struct(){int i;for(i=0;i<N;i++){fflush(stdin);printf("\nIngrese el nombre del alumno %d: ",i+1);gets(alumnos[i].nom);fflush(stdin);printf("\nIngrese la matricula del alumno %d: ",i+1);scanf("%d",&alumnos[i].mat);fflush(stdin);printf("\nIngrese el promedio del alumno %d: ",i+1);scanf("%f",&alumnos[i].prom);fflush(stdin);}}void escribe() {int i;printf("\n\nMOSTRAR DATOS\n");for(i=0;i<N;i++){printf("\nNombre del alumno %d =========> ",i+1);puts(alumnos[i].nom);printf("\nMatricula del alumno %d =========> %d ",i+1,*alumnos[i].mat);printf("\n\nNota del alumno %d =========> %g ",i+1,*alumnos[i].prom);printf("\n\n");}}
char promedio(){ int i; char sresultado[40]; for (i=0;i<N;i++){ //if (alumnos[i].prom > alumnos[i+=1].prom) //por que haces i+=1 ???if (alumnos[i].prom > alumnos[i+1].prom) strcpy (sresultado,alumnos[i].nom); else // if (alumnos[i].prom < alumnos[i+=1].prom) //strcpy (sresultado,alumnos[i=+1].nom); if (alumnos[i].prom < alumnos[i+1].prom)strcpy (sresultado,alumnos[i+1].nom); }
void lee_struct()
gets(&alumnos[i].nom);
void lee_struct(){int i;fflush(stdin); //limpiamos el buffer antes de recoger el primer elemento, y luego ya sólo limpiamos cada vez que recojamos un nuevo datofor(i=0;i<N;i++){printf("\nIngrese el nombre del alumno %d: ",i+1);gets(alumnos[i].nom);fflush(stdin);
#include <stdio.h>#define N 2struct lista {char nom[40];long mat[30];float prom[40];};struct lista alumnos[N];void lee_struct();char promedio();void escribe();char promedio(){ int i; char sresultado[40]; for (i=0;i<N;i++){ if (alumnos[i].prom > alumnos[i+1].prom) strcpy (sresultado,alumnos[i].nom); else if (alumnos[i].prom < alumnos[i+1].prom) strcpy (sresultado,alumnos[i+1].nom); } printf("\nEl alumno de mejor promedio es: %s\n",sresultado);return 0;}int main(){lee_struct();escribe();return 0;;}void lee_struct(){int i;fflush(stdin);for(i=0;i<N;i++){printf("\nIngrese el nombre del alumno %d: ",i+1);gets(alumnos[i].nom);fflush(stdin);printf("\nIngrese la matricula del alumno %d: ",i+1);scanf("%d",&alumnos[i].mat);printf("\nIngrese el promedio del alumno %d: ",i+1);scanf("%f",&alumnos[i].prom);}}void escribe() {int i;printf("\n\nMOSTRAR DATOS\n");for(i=0;i<N;i++){printf("\nNombre del alumno %d =========> ",i+1);puts(alumnos[i].nom);printf("\nMatricula del alumno %d =========> %d ",i+1,*alumnos[i].mat);printf("\n\nNota del alumno %d =========> %f ",i+1,*alumnos[i].prom);printf("\n\n");}}
int main(){lee_struct();escribe();return 0;;}
int main(){lee_struct();promedio();escribe();return 0;}
#include <string.h>