Pascal/Turbo Pascal - cajero en pascal

 
Vista:
sin imagen de perfil

cajero en pascal

Publicado por Manuel (3 intervenciones) el 06/05/2012 09:17:06
hola soy novato en programacion pero me dejaro este problema en la universidad y no encontramos un tutor para este problema:

Se tiene una serie de 5 receptores de pago (cajeros), cada uno con una “cola” de clientes asociada y con espacio para 10 clientes cada una, cada cliente tiene asociada una “pila” de transacciones a realizar cuando le toque el turno.

El programa funcionará de la siguiente forma:
1. Inicia con las colas asociadas a los cajeros vaciás.

2. El usuario indica con un menú que desea crear un nuevo cliente.

3. El programa le solicita al usuario agregar al nuevo cliente las transacciones asociadas que deben ser: Mínimo 1 y máximo 5. Por ejemplo: Cobrar cheque, pago de ENEE.
4. El usuario agregará el cliente a una cola asociada a un cajero haciendo referencia al cajero, por ejemplo “agregar al cajero #3”.
5. El usuario indicará con un menú que un determinado cajero está disponible, entonces el programa extraerá el cliente indicado de la cola, lo ubicará en la caja y el resto de clientes en la cola avanzan una posición.
6. El usuario vía menú indicara al cajero que atienda la primer transacción del cliente y el programa debe mostrar el nombre de la transacción que ese cajero esta atendiendo (recuerde que son varios cajeros y según la dinámica del programa varios cajeros deben mostrar las transacciones que están atendiendo en ese momento). El usuario repetirá esta acción para cada cajero.
7. Cuando un cliente agote las transacciones, el cajero queda en estado de “desocupado” y el usuario puede asignarle otro cliente, iniciando el ciclo de nuevo.


Los requisitos de presentación en pantalla:

El programa debe mostrar de forma permanente el estado de los cajeros, las colas asociadas, el menú de opciones, las operaciones que los cajeros están atendiendo y los datos que el usuario esta ingresando.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

cajero en pascal

Publicado por ramon (2158 intervenciones) el 06/05/2012 14:57:50
Una pregunta para mejor ayudar se trata de punteros por lo de colas de cajeros vacías.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

cajero en pascal

Publicado por Manuel (3 intervenciones) el 07/05/2012 07:10:24
si se trata de puntero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

cajero en pascal

Publicado por ramon (2158 intervenciones) el 07/05/2012 17:55:47
{Me encuentro un poco desorientado me explico, estamos ante un ordenador con un sola
teclado lo cual si estamos metiendo datos en un terminal no podemos al mismo tiempo
entrar datos en otro tendremos que darle permiso a uno y detener el otro para que la entrada sea
correcta en el terminal que queramos.
No octante os paso esta primero iniciación para ver si voy bien según vuestro criterio espero
aclaración.
Fijaros en el menú y las pantallas.

program cajeros;
uses
crt;
const
cajero = 5;
cliencola = 10;
type
string8 = string[8];
pcolas = ^colas;
colas = record
cobrarcheque : string;
pagoenee : string;
cajeroNum : integer;
sig,ant : pcolas;
end;


var
caja : array[1..5,1..cliencola] of colas;
primer, ultimo, medio, actual : pcolas;

procedure pantalla(nn : integer; tex : string8);
var
posx, posy : integer;
begin
case nn of
1 : begin posx := 40; posy := 1; end;
2 : begin posx := 12; posy := 10; end;
3 : begin posx := 50; posy := 10; end;
4 : begin posx := 12; posy := 18; end;
5 : begin posx := 50; posy := 18; end;
end;
gotoxy(posx, posy);write('ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿');
gotoxy(posx, posy + 1);write('³ ³');
gotoxy(posx, posy + 2);write('³ ³');
gotoxy(posx, posy + 3);write('³ ³');
gotoxy(posx, posy + 4);write('ÀÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÙ');
gotoxy(posx, posy + 5);write(' ³ ³ ');
gotoxy(posx, posy + 6);write(' ÄÄÄÁÄÄÄÄÄÄÁÄÄÄ ');
gotoxy(posx + 7,posy + 5);write('Tm.',nn);
gotoxy(posx + 2,posy + 1);write('Est.',tex);
end;

procedure menu;
var
salir : boolean;
tec : char;
pan : integer;
begin
repeat
clrscr;
for pan := 1 to 5 do
pantalla(pan,'inactivo');
gotoxy(8,1);write('** MENU **');
gotoxy(2,2);write('1 = Crear un nuevo cliente');
gotoxy(2,3);write('2 = Agregar transacciones');
gotoxy(2,4);write('3 = Agregar al cajero');
gotoxy(2,5);write('4 = Cajero disponible');
gotoxy(2,6);write('5 = Primer transaccion');
gotoxy(2,7);write('6 = Asignarle otro cliente');
gotoxy(2,8);write('7 = salir');
gotoxy(2,9);write(' Elija Opcion');
tec := readkey;
case tec of
#49 :;
#50 :;
#51 :;
#52 :;
#53 :;
#54 :;
#55 : salir := true;
end;
until salir = true;
end;


begin
primer := nil;
ultimo := nil;
menu;
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

cajero en pascal

Publicado por lizeth ayala (2 intervenciones) el 07/05/2012 03:46:30
Hola disculpe el mismo problema tengo con este programa y me gustaria nos pudiera ayudar ya que este es un proyecto que nos piden en la universidad por de esto dependo poder seguir dentro de la carrera.Se tiene una serie de 5 receptores de pago (cajeros), cada uno con una “cola” de clientes asociada y con espacio para 10 clientes cada una, cada cliente tiene asociada una “pila” de transacciones a realizar cuando le toque el turno.

El programa funcionará de la siguiente forma:
1. Inicia con las colas asociadas a los cajeros vaciás.

2. El usuario indica con un menú que desea crear un nuevo cliente.

3. El programa le solicita al usuario agregar al nuevo cliente las transacciones asociadas que deben ser: Mínimo 1 y máximo 5. Por ejemplo: Cobrar cheque, pago de ENEE.
4. El usuario agregará el cliente a una cola asociada a un cajero haciendo referencia al cajero, por ejemplo “agregar al cajero #3”.
5. El usuario indicará con un menú que un determinado cajero está disponible, entonces el programa extraerá el cliente indicado de la cola, lo ubicará en la caja y el resto de clientes en la cola avanzan una posición.
6. El usuario vía menú indicara al cajero que atienda la primer transacción del cliente y el programa debe mostrar el nombre de la transacción que ese cajero esta atendiendo (recuerde que son varios cajeros y según la dinámica del programa varios cajeros deben mostrar las transacciones que están atendiendo en ese momento). El usuario repetirá esta acción para cada cajero.
7. Cuando un cliente agote las transacciones, el cajero queda en estado de “desocupado” y el usuario puede asignarle otro cliente, iniciando el ciclo de nuevo.


Los requisitos de presentación en pantalla:

El programa debe mostrar de forma permanente el estado de los cajeros, las colas asociadas, el menú de opciones, las operaciones que los cajeros están atendiendo y los datos que el usuario esta ingresando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

cajero en pascal

Publicado por alexmasterhack (1 intervención) el 07/05/2012 20:14:53
Lizeth Ayala de que Universidad es este proyecto, yo tengo uno literalmente igual a que expones aqui, tlaves nos podamos ayudar mutuamente.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

cajero en pascal

Publicado por lizeth ayala (2 intervenciones) el 09/05/2012 02:51:06
hola muchas gracias por tu mesaje mira yo creo somos de la misma universidad porque esta identico el proyecto es de upn.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

cajero en pascal

Publicado por Allan Licona (1 intervención) el 11/05/2012 13:55:43
Hola Lizet y Manuel, los veo realmente preocupados yo les arreglo su problema pues hice el programa no se para quien puede ser que para uno de ustedes mismos, vivo en Tela y si ustedes quieren me pueden llamar al 98115469 durante el dia de hoy por que se que para mañana es esa tarea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar