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.

  1. Defina as estruturas necessárias para a resolução do problema.
  2. Crie uma função para inserir clientes.
  3. Crie uma função para inserir consumos.
  4. Crie uma função para indicar o valor consumido de um produto (código de consumo).
  5. 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:

Passagem por referência

Ficheiro original (inserir_ref.c)

Apontador global

Ficheiro original (inserir_glb.c)

Resolução

Ficheiro original (disco.c)