Trabalho Prático 1: Listas, Filas, Pilhas
Data de Entrega (Disponibilização): 4 de outubro de 2017 (são 3 semanas de prazo, não haverá adiamento, organize-se!)
Os alunos devem informar por e-mail a URL do trabalho, usando o subject "TP-1 ALGORITMOS II 2017-2"
OBS.: O trabalho deve ser feito em dupla.
O restaurante Algorítmico não serve a quilo: os clientes escolhem itens do cardápio. O cardápio tem todos os itens disponíveis, que são descritos em uma lista. Cada item aparece na lista com um número de identificação, a descrição e o preço. Suellen, a gerente do restaurante, atende no caixa, onde os clientes fazem uma fila invariavelmente grande. Cada cliente tem um comando com a lista dos produtos consumidos. Para cada cliente atendido, Suellen informa o preço total, somando os itens do comando. Além disso, o restaurante está agraciando os clientes com um pequeno chocolate. Suellen mantém uma pilha de chocolates diversos e entrega ao cliente atendido o chocolate do topo da pilha.
Escreva um programa que implementa o sistema acima. Você deve preparar cuidadosamente o cardápio do restaurante. Encha a fila de pessoas conhecidas, cada uma com seu comando que tem uma lista dos produtos consumidos. Você deve encher a pilha com chocolates diversos. Ao final, mostre qual chocolate cada cliente ganhou, bem como quanto pagou pela refeição.
Para as implementações dos Tipos Abstratos de Dados, se a fila for em vetor, a pilha deve ser apontadores ou vice-versa. Cada dupla pode escolher a implementação que julgar mais conveniente. O programa deve ter opções para imprimir a lista, fila ou pilha a qualquer momento.
Execute testes exaustivos, mostrando que seu programa funciona nas mais diversas situações (ex. pilha vazia, fila cheia, etc etc).
Importante: capriche na legibilidade e organização.
Prof. Elias P. Duarte Jr.     Departamento de Informática     UFPR