#include <stdio.h>#include <conio.h>#include <string.h>struct fecha { int dia; int mes; int anio;};struct alumno { char nomyape[40]; char legajo[10]; int edad; struct fecha fec_nac;}casa;int carga(struct alumno[]);void ord_edad(struct alumno[],int);void ord_nombre(struct alumno[],int);struct alumno busca(struct alumno[], int, char[]);int main(){ char leg[10]; int opc; int cant; struct alumno alu[500]; cant = carga(alu); printf("La cantidad de alumnos ingresados es: %d\n",cant); printf("Presione enter para continuar..."); getchar(); getchar(); system("CLS"); do{ printf("MENU PRINCIPAL\n"); printf("--------------\n"); printf("1-Ordenar por edad\n"); printf("2-Ordenar por nombre\n"); printf("3-Buscar un alumno por legajo\n"); printf("4-Salir\n\n"); printf("Opcion elegida: "); scanf("%d",&opc); switch(opc){ case 1: ord_edad(alu,cant); break; case 2: ord_nombre(alu,cant); break; case 3: printf("Ingrese el legajo que quiere buscar: "); scanf("%s",&leg); busca(alu,cant,leg); break; case 4: break; default: printf("La opcion ingresada es incorrecta"); break; } }while(opc!=4);return 0;}int carga(struct alumno m[500]){ char rta; int i = 0; do{ if (i>=1){ printf("Presione una enter para continuar...\n"); getchar(); getchar(); } printf("ingrese el nombre y apellido del alumno: "); gets(m[i].nomyape); printf("ingrese el legajo del alumno: "); gets(m[i].legajo); printf("ingrese la edad del alumno: "); scanf("%d",&m[i].edad); printf("Ingrese la fecha de nacimiento: \n"); printf("Dia: "); scanf("%d",&m[i].fec_nac.dia); printf("Mes: "); scanf("%d",&m[i].fec_nac.mes); printf("Anio: "); scanf("%d",&m[i].fec_nac.anio); getchar(); do{ printf("\n"); printf("Desea ingresar otro alumno?"); scanf("%c",&rta); printf("\n"); }while (rta != 'n' && rta != 's' && rta != 'S' && rta != 'N'); system("CLS"); i++; }while (rta == 's' || rta == 'S');return i;}void ord_edad(struct alumno m[500],int cant_alu){ int i,j; struct alumno aux; for (i=0;i<cant_alu;i++){ for (j=i+1;j<cant_alu;j++){ if (m[i].edad > m[j].edad){ //ORDENO DE MENOR A MAYOR aux=m[i]; m[i]=m[j]; m[j]=aux; } } } printf("El orden de menor a mayor por edad es de la siguiente forma: \n\n"); for(i=0;i<cant_alu;i++){ printf("Nombre y apellido: %s\n",m[i].nomyape); printf("Edad: %d\n",m[i].edad); printf("Legajo: %s\n",m[i].legajo); printf("Fecha de nacimiento: %d/%d/%d\n\n",m[i].fec_nac.dia,m[i].fec_nac.mes,m[i].fec_nac.anio); } printf("Presione ENTER para continuar."); getchar(); getchar(); system("CLS");}struct alumno busca(struct alumno m[500],int cant_alu, char lega[10]){ struct alumno aux; int i; for (i=0;i<cant_alu;i++) if (strcmp(m[i].legajo,lega)==0) return m[i]; else return aux;}void ord_nombre(struct alumno m[500], int cant_alu){ int i,j; struct alumno aux; for (i=0;i<cant_alu;i++){ for (j=i+1;j<cant_alu;j++){ if (m[i].nomyape < m[j].nomyape){ aux=m[i]; m[i]=m[j]; m[j]=aux; } } } printf("El orden de menor a mayor por abecedario es de la siguiente forma: \n\n"); for(i=0;i<cant_alu;i++){ printf("Nombre y apellido: %s\n",m[i].nomyape); printf("Edad: %d\n",m[i].edad); printf("Legajo: %s\n",m[i].legajo); printf("Fecha de nacimiento: %d/%d/%d\n\n",m[i].fec_nac.dia,m[i].fec_nac.mes,m[i].fec_nac.anio); } printf("Presione ENTER para continuar."); getchar(); getchar(); system("CLS");}