• Viernes 8 de Noviembre de 2024, 19:17

Autor Tema:  Necesito Ayuda Con El Comienzo De Un Programa  (Leído 2000 veces)

estresado

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Necesito Ayuda Con El Comienzo De Un Programa
« en: Miércoles 3 de Enero de 2007, 19:59 »
0
Antes que nada quiero decir que me he leído las reglas y mi fin no es que me 'hagan la tarea'. Lo que me gustaría de mi post es que me ayuden a plantear correctamente la 'cabecera' del progrma, es decir, a declarar los nodos, los punteros dentro del type....pero, obviamente debo poner el texto de la practica para que me puedan ayudar.

Repito: mi fin no es que me resuelvan la practica. Lo que necesito es plantear el comienzo correctamente porque sé que es ahí donde me está fallando el código.

Yo he querido hacer algo así, pero esta incorrecto :( :
program ayuda;
uses
   crt;
type
   supermercado = record
      total_cajas : integer;
   end;

   enlace = ^Tcolas;
   Tcolas = record
      num_caja: integer;
      cliente : string;
      siguiente: enlace;
   end;

var
   punteros_a_declarar : enlace;
   super : supermercado;


Pues bien.... el enunciado es el siguiente: (Gracias por la ayuda!)
"Debemos simular las colas de un supermercado mediante estructuras dinámicas, teniendo en cuenta que cada persona actuará en la cola según su personalidad (MUY AMABLE, AMABLE, POCO AMABLE).
   • Las personas MUY AMABLES permitirán que otra persona que está detrás suya en la cola le adelante si dicha
persona es mayor de 65 años o si está embarazada.
   • Las personas AMABLES permitirán que otra persona que está detrás suya en la cola le adelante si dicha persona está embarazada.
   • Las personas POCO AMABLES nunca permitirán que otra persona le adelante.
   • Tanto las personas embarazadas, como las mayores de 65 años nunca podrán ser adelantadas.

Se pide: Implementar los subprogramas necesarios para simular los adelantamientos realizados cuando una nueva persona llega a una cola del supermercado. Para ello se presentará un menú con las siguientes opciones:

1.- Introducir/Modificar número de colas del supermercado.
2.- Introducir persona en una cola.
3.- Visualizar cola.
4.- Simular adelantamiento.

         Una vez que una persona paga su compra será eliminada de la cola y pasara a una pila      
        "supermercado" donde se almacenarán los importes de cada compra.

5.- Pagar compra en una cola.


estresado

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Necesito Ayuda Con El Comienzo De Un Programa
« Respuesta #1 en: Jueves 4 de Enero de 2007, 10:34 »
0
Sé que tengo que realizar unas listas con cabecera pero, no tengo ni idea de como declararlas, La cosa debe ser algo asi:

caja1 <--->   caja2   <-->   etc
   |                       |                |                
pers1  <-->  pers1..........  
   |                        |               |
pers2  <-->  pers2........
   |                         |              |
 etc   <-->     etc........
 

Pero no sé, estoy bastante confundido a la hora de declarar, aunque sé que deben haber un puntero que enlace a las personas de una misma caja y otro que enlace a las diferentes colas/cajas.....

Gracias por la ayuda!!

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Necesito Ayuda Con El Comienzo De Un Programa
« Respuesta #2 en: Jueves 4 de Enero de 2007, 14:29 »
0
Para explicar el trabajo con listas enlazadas es bastante complicado, te paso estos enlaces:

Este te habla sobre estructura de las listas:
http://www.monografias.com/trabajos28/list...enlazadas.shtml


En este fijate casi al final de todo, te habla de insercion, eliminacion....:
http://www.cienciasmisticas.com.ar/informa...ascal/index.php

Si tienes dudas despues, pregunta nomas ;)

estresado

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Necesito Ayuda Con El Comienzo De Un Programa
« Respuesta #3 en: Viernes 5 de Enero de 2007, 11:09 »
0
Bueno, muchas gracias por la ayuda Enko, por el momento he declarado las cosas de esta forma:

program estresado;

type
   puntero = ^Tcajas;
   puntero2 = ^Tcolas;

   supermercado = record
      numero_total_cajas : integer;
   end;

   Tcaja = record
      numcaja : integer;
      siguiente : puntero;
      cola : puntero2
   end;

   Tcolas = record
      embarazada : boolean;
      viejo : boolean;
      caracter : string[1];
      sig_cliente : puntero2
   end;

var
   pri, ult : puntero;
   ultf : puntero2;


Ahora voy a comenzar a realizar la práctica a ver que tal me sale.... muchas gracias por la ayuda! Aunque.... seguro que esta no será mi única duda jejeje. Volvere!!! :D

Feliz Año!!!

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Necesito Ayuda Con El Comienzo De Un Programa
« Respuesta #4 en: Viernes 5 de Enero de 2007, 15:51 »
0
Una pregunta... así como posteaste tus estructuras... ¿Compilan?
No tendría que ser algo así:
Código: Text
  1.  
  2. TPuntero1 = ^TEstructura1
  3. TEstructura1 = record
  4.    .....
  5. end;
  6. TPuntero2 = ^TEstructura2
  7. TEstructura2 = record
  8.    ...
  9. end;
  10.  
  11.  
Es decir, la declaracion del puntero tiene que ser seguida de la estructura, creo, no toy seguro.

estresado

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Necesito Ayuda Con El Comienzo De Un Programa
« Respuesta #5 en: Viernes 5 de Enero de 2007, 16:30 »
0
jejeje, pues se me fue la bola cuando posteé pero, acabo de probar a ponerlo como he puesto aki y, si, si me compila jeje, aunque es mas lógico y normal como tu has comentado, obviamente

Bueno.... ahora solo me falta que compile con el código correcto porque es que lo llevo fatal :s

Gracias!