• Viernes 3 de Mayo de 2024, 23:48

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Gatoox

Páginas: [1]
1
C/C++ / Help con error que me da este programa en C++
« en: Viernes 10 de Julio de 2009, 07:20 »
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);
      }
    }
  }
}

2
C/C++ / Crear el sgte programa, alguien me socorre?
« en: Martes 7 de Julio de 2009, 01:33 »
Necesito hacer un programa con el sgte enunciado

Descripción:
UN taller mecánico necesita un sistema que permita organizar los trabajos recibidos. La forma de atención es de la siguiente manera:
Cada vez que llega un auto al taller se ingresa en una cola con los siguientes datos: Nº patente, marca, modelo, año, nombre del dueño y teléfono del mismo. El mecánico revisa el auto y agrega a los datos la falla mecánica y el tiempo en horas en que demorará la restauración de la falla.
Los autos cuya falla demorará en restaurarse más de 8 hrs. pasarán a una cola de atención según el orden de llegada, y los que demorarán menos de 8 hrs. pasarán a una pila donde comenzará su restauración inmediatamente.
El taller mecánico le pide:
    * Diseñar el sistema de atención tomando en cuenta que los autos de la cola no serán atendidos hasta que la pila esté vacía.
 

Debo aceptar que no se me ocurre como hacerlo y recurro aqui para ver si alguien lo puede hacer y asi yo al verlo listo poder deglosar y estudiarlo, muchas gracias de antemano

Páginas: [1]