Hola, ayuda por favor, tengo un código para C que no compila, estoy tratando de crear una agenda.
Este es mi código, que esta organizado por 1 estructura y utiliza el método de la burbuja para ordenar los datos alfabéticamente, pero me manda error en las ultimas lineas y no tengo ni la mas mínima idea del porque. Todo lo he programado en Dev-C++. Y la verdad es que estoy aprendiendo como se hace esto, cualquier corrección que se le puede hacer seria de gran ayuda para mi. Y una ultima cosa, de favor no me den un código con concatenaciones o algo así, que ese tema no lo he llevado todavía.
He aquí mi código:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
void ordenar();
char resp;
main()
{
do
{
system("color 1f");
system("CLS");
printf("\t PROGRAMA QUE ORDENA UN CONJUNTO DE N ELEMENTOS v1.0 \n");
ordenar();
printf("\n \n Quieres ingresar otros datos? S=si, n=no \n");
resp=getche();
} while(resp=='s'||resp=='S');
}
void ordenar()
{
int ngente, i=1, op;
struct persona
{
char nombre[50];
int edad;
}agenda[500];
printf("\n Cuantas personas quieres registrar? ");
scanf("%i", &ngente);
for(i=1; i<=ngente; i++)
{
printf("\n PERSONA %d", i);
printf("\n Nombre: ");
fflush(stdin);
gets(agenda. Nombre);
printf(" Edad: ");
scanf("%d", &agenda.edad);
}
printf("\n Voy a ordenar los datos alfabéticamente, enter para continuar.");
getch();
int j=1, auxedad, compara;
char *aux;
for(i=1; i<ngente; i++)
{
for(j=0; j<(ngente-i); j++)
{
compara=strcmp(agenda[j].nombre,agenda[j+1].nombre);
if(compara>0)
{
aux=agenda[j].nombre;
auxedad=agenda[j].edad;
agenda.nombre=agenda[i+1].nombre;
agenda[j].edad=agenda[j+1].edad;
agenda[i+1].nombre=aux;
agenda[j+1].edad=auxedad;
}
}
}
for(i=1; i<=ngente; i++)
{
printf("\n %c", agenda.nombre);
printf(" %d\n", agenda.edad);
}
}