Me da error despues de los printf de asigna memoria 3 en ordenar, ayudenme que no se porque me lanza ese error, ojala me ayuden a que compile
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio2.h>
#include <ctype.h>
#define MAXIMO 6
#define TRUE 1
struct cola
{
char patente[20];
char marca [20];
char modelo[20];
char n_dueno[20];
char falla[20];
int ano;
int contacto;
int horas;
struct cola *sgte;
};
struct cola *primero,*nuevo,*ultimo,*indice;
struct cola_aux
{
int autos;
struct cola_aux *sgte2;
};
struct cola_aux *primero_2,*nuevo_2,*ultimo_2,*indice_2;
int *direccion_pila;
int *direccion_inferior;
int *direccion_superior;
void asigna_memoria()
{
nuevo=(struct cola *) malloc (sizeof ( struct cola));
if (nuevo == NULL)
{
printf("n ESPACIO INSUFICIENTE EN MEMORIA");
return;
}
else
{
if ((primero == NULL) || (ultimo == NULL))
{
primero = nuevo;
ultimo = nuevo;
ultimo->sgte = NULL;
}
else
{
ultimo->sgte = nuevo;
ultimo = nuevo;
ultimo->sgte = NULL;
}
}
}
void asigna_memoria_2()
{
nuevo_2=(struct cola_aux *) malloc (sizeof ( struct cola_aux));
if (nuevo_2 == NULL)
{
printf("n ESPACIO INSUFICIENTE EN MEMORIA");
return;
}
else
{
if ((primero_2 == NULL) || (ultimo_2 == NULL))
{
primero_2 = nuevo_2;
ultimo_2 = nuevo_2;
ultimo_2->sgte2 = NULL;
}
else
{
ultimo_2->sgte2 = nuevo_2;
ultimo_2 = nuevo_2;
ultimo_2->sgte2 = NULL;
}
}
}
void asigna_memoria_3()
{
nuevo_1=(struct cola_aux *) malloc (sizeof ( struct cola_aux));
if (nuevo_1 == NULL)
{
printf("n ESPACIO INSUFICIENTE EN MEMORIA");
return;
}
else
{
if ((primero_1 == NULL) || (ultimo_1 == NULL))
{
primero_1 = nuevo_1;
ultimo_1 = nuevo_1;
ultimo_1->sgte1 = NULL;
}
else
{
ultimo_1->sgte1 = nuevo_1;
ultimo_1 = nuevo_1;
ultimo_1->sgte1 = NULL;
}
}
}
void intro_ficha_cola ()
{
asigna_memoria();
fflush(stdin);
printf ("nnINGRESE NUMERO PATENTE: n");
gets(ultimo->patente);
fflush(stdin);
printf ("nINGRESE MARCA AUTOMOVIL: n");
gets(ultimo->marca);
fflush(stdin);
printf ("nnINGRESE MODELO AUTOMOVIL: n");
gets(ultimo->modelo) ;
fflush(stdin);
printf("nnINGRESE AÑO DE AUTOMOVIL: n") ;
scanf("%d",&ultimo->ano);
fflush(stdin);
printf("nnINGRESE NOMBRE DEL DUEÑO DE AUTOMOVIL: n") ;
gets(ultimo->n_dueno) ;
fflush(stdin);
printf("nnINGRESE TELEFONO CONTACTO: n") ;
scanf("%d",&ultimo->contacto) ;
fflush(stdin);
printf("nnnDATOS TECNICOS");
printf("nnINGRESE FALLA MECANICA: n");
gets(ultimo->falla);
fflush(stdin);
printf("nnTIEMPO REPARACION: n");
scanf("%d",&ultimo->horas);
}
void ordenar()
{
if (primero == NULL)
{
printf("nn NO HAY AUTOS PARA ORDENAR");
getch();
return;
}
else
{
indice = primero;
while (primero != NULL)
{
indice = primero;
if(primero->horas > 8)
{
printf("nn EN COLA");
printf("nn Nombre: %s ",indice->n_dueno);
printf("n Patente: %s ",indice->patente);
printf("n Marca: %s " ,indice->marca);
printf("n Modelo: %s ",indice->modelo);
printf("n Año: %s ",indice->ano);
printf("n Telefono: %s ",indice->contacto);
printf("n Falla: %s ",indice->falla);
printf("n TIEMPO REPARACION: %d ",indice->horas);
asigna_memoria_3();
strcpy(ultimo_1->nombre_1,indice->n_dueno);
strcpy(ultimo_1->patente_1,indice->patente);
strcpy(ultimo_1->marca_1,indice->marca);
strcpy(ultimo_1->modelo_1,indice->modelo);
strcpy(ultimo_1->ano_1,indice->ano);
strcpy(ultimo_1->telefono_1,indice->contacto);
strcpy(ultimo_1->falla_1,indice->falla);
ultimo_1->hora_1 = indice->horas;
}
else
{
printf("nn EN PILA");
printf("nn Nombre: %s ",indice->n_dueno);
printf("n Patente: %s ",indice->patente);
printf("n Marca: %s " ,indice->marca);
printf("n Modelo: %s ",indice->modelo);
printf("n Año: %s ",indice->ano);
printf("n Telefono: %s ",indice->contacto);
printf("n Falla: %s ",indice->falla);
printf("n TIEMPO REPARACION: %d ",indice->horas);
asigna_memoria_5();
strcpy(ultimo_2->nombre_2,indice->n_dueno);
strcpy(ultimo_2->patente_2,indice->patente);
strcpy(ultimo_2->marca_2,indice->marca);
strcpy(ultimo_2->modelo_2,indice->modelo);
strcpy(ultimo_2->ano_2,indice->ano);
strcpy(ultimo_2->telefono_2,indice->contacto);
strcpy(ultimo_2->falla_2,indice->falla);
ultimo_2->hora_2 = indice->horas;
}
free(indice);
primero = primero->sgte;
}
}
printf("nnautos ordenados");
getch();
}
int main ()
{
while(true)
{
primero = ultimo =NULL;
{
clrscr();
printf("---*---*---*---*---*---*---*---*---*---");
printf("nn MENU TALLER MECANICO");
printf("nn---*---*---*---*---*---*---*---*---*---");
printf("n ------------------------");
printf("n 1. AñADIR DATOS DE LA COLA");
printf("n 2. MOSTRAR TRABAJOS MENORES A 8 HORAS(PILA)");
printf("n S. SALIR");
printf("nn ingrese opcion: ");
switch(toupper(getche()))
{
case '1' : intro_ficha_cola();
break;
case '2' : ;
break;
case 'S' : exit(0);
}
}
}
}