next up previous
Next: Exemplo de execução

Departamento de Ciência da Computação - IME-USP

MAC 110 - Introdução à Computação

IME - SEGUNDO SEMESTRE DE 2000

Primeiro Exercício-Programa Data de entrega: até 17 de outubro de 2000.


Prof.: Alfredo Goldman

O CAIXA ELETRÔNICO

O dono de um banco em Bora-Bora deseja instalar caixas eletrônicos nas magníficas praias da ilha, permitindo aos seus correntistas sacar e depositar dinheiro durante os momentos de lazer.

Todas as manhãs a central fornece aos caixas notas de 100, 50, 10, 5 e 1 ducas. Todos os saques devem ser processados de maneira a utilizar o menor número possível de notas. Por exemplo, para um saque de 350 ducas o caixa deve entregar, se disponíveis, 3 notas de 100 e uma de 50 (ao invés de outras eventuais possibilidades como 7 notas de 50). Para que o caixa eletrônico processe depósitos é necessário que o usuário especifique a quantidade de notas (de cada tipo) que está sendo fornecida.

Faça um programa em C que simule um dia de funcionamento do caixa:

  1. Lê a quantidade inicial de notas de 100, 50, 10, 5 e 1.

  2. Lê um número inteiro correspondente a N>= 1 operações a serem realizadas. Para cada operação é dado o código da operação: 0 para saque e 1 para depósito. Tratando-se de saque, é fornecido o valor do saque (um número inteiro); para depósitos, é fornecido o número de notas de 100, 50, 10, 5 e 1 que compõem o depósito.

  3. Imprime, a cada operação realizada, o número de notas (para cada tipo) em caixa.

  4. Rejeita os saques para os quais não há dinheiro suficiente em caixa ou não existam as notas necessárias. Por exemplo, se o caixa tem apenas uma nota de 100 e o usuário deseja retirar 65 não há como efetivar o saque, embora haja dinheiro suficiente no caixa.

Além disso, seu programa deve imprimir ao final do dia, isto é após a realização das N operações, o valor total depositado, o valor total de saques solicitados e fnalmente, o valor total efetivamente retirado durante o dia.

Execute seu programa usando os dados do exemplo a seguir. Certifique-se de que seu programa funciona bem mesmo nos casos onde não há notas suficientes para que se efetue o saque.




next up previous
Next: Exemplo de execução
Alfredo Goldman 2000-09-28