Enunciado
Pretende-se um programa para a gestão de clientes de uma discoteca. A cada
cliente é dado, à entrada, um cartão com um código. De cada vez que o cliente
consome algo o código do consumo é associado ao seu cartão. Se o cliente exceder
os 10 consumos terá que liquidar a conta e pedir novo cartão. Quando um cliente
sai, o programa deverá calcular o preço a pagar e eliminar o seu registo.
Utilize um vector dinâmico para guardar do dados.
- Defina as estruturas necessárias para a resolução do problema.
- Crie uma função para inserir clientes.
- Crie uma função para inserir consumos.
- Crie uma função para indicar o valor consumido de um produto (código de
consumo).
- Crie uma função para calcular a despesa de um cliente.
Problemas nas funções inserir_cartão e pagar_cartao
Como as funções inserir_cartão e pagar_cartao fazem um realloc,
o endereço do primeiro elemento pode ser alterado. Para esta alteração
se reflectir na função de onde estas funções são chamadas, é necessário fazer
uma de 3 coisas:
- Fazer a devolução do novo endereço (ver resolução);
- Passar o endereço do vector por referência;
- O apontador para o vector dinâmico ser uma variável global
e não ser passado como parâmetro;
Passagem por referência
Apontador global
Resolução