Popolizio
(usa Ubuntu)
Enviado em 31/10/2012 - 10:41h
Bom dia a todos,
Estou tendo dificuldades em fazer um programa que me disseram ser bem simples , porém eu não estou de maneira alguma conseguindo fazer. Segue abaixo o que se pede:
Faça um programa que controle uma fila de banco que possui apenas um caixa. Para tal utilize a estrutura de dados lista duplamente encadeada, em que cada nó deve possuir as seguintes informações:
• Nome do Cliente – com até 50 caracteres
• Tipo do Atendimento – 1 para Preferencial OU 2 para Normal
O menu principal do programa deverá conter as seguintes opções:
1 – Inserir Cliente
2 – Listar Clientes
3 – Desistência
4 – Atender Cliente
5 – Editar Cliente
6 – Sair
Ao inserir um cliente, o programa deverá verificar o Tipo de Atendimento, pois se o cliente a ser inserido seja do tipo Preferencial este deverá ser atendido antes de um cliente que seja do tipo Normal. Caso já tenha um cliente do tipo Preferencial na fila, o novo cliente Preferencial deve vir após o que já está inserido.
Ao listar os clientes, o programa deve exibi-los conforme foram inseridos, ou seja, os clientes de Atendimento Preferencial devem vir antes dos Clientes de Atendimento Normal. Além disso, deverão ser exibidos quantos clientes são de cada tipo e o total de clientes na fila.
Ao desistir, o cliente será removido a partir de qualquer posição (no início, no meio ou no fim da fila).
Ao atender um cliente, o programa deve utilizar a definição FIFO, ou seja, removerá o primeiro cliente da fila.
Ao editar um cliente, o programa deverá editar o Nome do Cliente e/ou o Tipo de Atendimento. Caso mude o Tipo de Atendimento, o Cliente deverá ser realocado na fila.
As funções de Desistência e Editar Cliente deverão buscar pelo Nome do Cliente e a lista deverá ser percorrida de trás para frente nestas funções.
OBS:
* os códigos deverão ser modularizados;
-> utilizar somente DOIS ponteiros: *p, *aux;
-> validar os dados de entrada do programa.
se possível usar cout e cin.
Grato desde já!