• Sábado 14 de Diciembre de 2024, 12:09

Autor Tema:  Help con error que me da este programa en C++  (Leído 787 veces)

Gatoox

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Help con error que me da este programa en C++
« en: Viernes 10 de Julio de 2009, 07:20 »
0
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);
      }
    }
  }
}

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Help con error que me da este programa en C++
« Respuesta #1 en: Lunes 13 de Julio de 2009, 10:47 »
0
Usa las etiquetas de código primero.