Problema do mercadinho do Zéstoque

From AdonaiMedrado.Pro.Br
Jump to: navigation, search

Dificuldade única

Seu Zéstoque tem um mercadinho e ultimamente vem querendo se modernizar.

Como parte desta estratégia ele resolveu que deveria contratar um estudante de informática para fazer seu sistema de estoque.

Por se tratar de um estudante, Zéstoque queria verificar se ele tinha condições para construir seu sistema, para isto fez a especificação de um protótipo que o estudante deveria programar rapidamente para ser considerado apto a ser contratado.

O protótipo deve:

  • Receber um número N (1<=N<=100) identificando a quantidade de mercadorias da loja.
  • Receber N mercadorias com seus respectivos estoques no formato: nome da mercadoria (até 50 caracteres sem espaço) seguido de um ou mais espaços e um número inteiro E (0<=E<=1000).
  • Receber um número O (0<=O<=1000) identificando a quantidade de operações que foram realizadas.
  • Receber O operações de entrada ou saída do estoque no formato: nome da mercadoria, seguido opcionalmente de um espaço e o sinal + (entrada no estoque) ou - (saída no estoque) e um valor numérico I (0<=I<=1000).

O processamento do programa consiste em realizar as entradas e saídas como informadas.

Como saída o programa deve informar:

  • Quando uma operação de saída tentasse movimentar mais do que a quantidade no estoque a movimentação não deve ser executada e a mensagem "Estoque não pode ser menor que zero." deve ser exibida imediatamente.
  • Quando uma operação levasse o estoque a zero a mensagem "<nome da mercadoria> m.Descricao atingiu estoque zero." deverá ser exibida imediatamente, onde <nome da mercadoria> é o nome do produto operado.
  • Quanto for finalizado a entrada das operações deve-se exibir os produtos em ordem alfabética seguido de um espaço e o estoque.

Em todos os exemplo abaixo as linhas que começam com > identificam a saída, as demais a entrada.

Exemplo 1

1
computador 10
5
computador - 5
computador + 5
computador - 20
>Estoque não pode ser menor que zero.
computador + 5
computador - 14
>computador 1

Exemplo 2

1
computador 0
3
computador + 1
computador - 1
>computador atingiu estoque zero.
computador + 5
>computador 5

Exemplo 3

4
teclado 19
computador 20
monitor 5
mesa 7
3
teclado + 1
computador - 1
monitor + 2
>computador 19
>mesa 7
>monitor 7
>teclado 20