Você está na página 1de 1

UNIVERSIDADE FEDERAL DE GOIÁS INTRODUÇÃO À COMPUTAÇÃO

Instituto de Informática Prof. Carlos Henrique Rorato Souza

2ª A VALIAÇÃO – ENGENHARIA ELÉTRICA (2022.2)

2. (5.5) INF Cinemania

Na Cidade da Informática, o cinema INF Cinemania está precisando de um novo sistema para compra de
ingressos e reserva de lugares para as sessões. A única sala de cinema desta empresa (e da cidade!) possui 400 lugares
dispostos em 10 fileiras de 40 poltronas cada. Você deverá receber as indicações de sala, fileira e poltrona solicitadas
pelo comprador e, caso o lugar esteja ocupado, deverá informá-lo.

Além disso, existe um problema recorrente neste cinema: as conversas durante o filme estão atrapalhando o
restante dos espectadores. Acontece que as pessoas que gostam do mesmo gênero de filme não conseguem parar de
conversar durante as sessões! Então, você deverá receber o gênero de filme favorito do comprador (1 para “ficção
científica”, 2 para “comédia”, 3 para “suspense/terror”, 4 para “ação/aventura”, 5 para “drama” e 6 para “musical”) e
não poderá deixar que ele escolha uma poltrona imediatamente próxima a de outra pessoa que tenha informado o
mesmo gênero, seja nas direções horizontal e vertical, seja nas diagonais.

No INF Cinemania, são cobrados os seguintes preços na compra dos ingressos (em INF, a moeda da
cidade): 15 INF para a meia entrada e 30 INF para as entradas inteiras. Ao final da compra, você deverá informar, em
INF, o preço total.

Observações:

● Utilize uma matriz para guardar a posição das poltronas já reservadas;


● Crie a função checarPoltrona, que recebe (pelo menos) a matriz de poltronas, os índices da poltrona a ser
escolhida e as preferências de gênero daqueles que já compraram, e verifica se a poltrona pode ser
selecionada pelo cliente.

Entrada: A entrada consiste em uma compra de vários ingressos. A primeira linha contém um inteiro positivo N, que
representa o número de pedidos de ingressos. Cada pedido de ingresso é representado por uma linha de entrada,
contendo o tipo de ingresso (1 para meia e 2 para inteira), a fileira e poltrona desejados e o código do gênero favorito,
separados por um espaço em branco. Verifique se os valores desejados são válidos, e só prossiga quando o usuário
informar dados válidos.

Saída: Informe “ingresso solicitado” caso o assento esteja disponível e o comprador possa utilizar este assento.
Informe “erro - conversa” e “erro - ocupado” caso aconteça algum destes erros. Ao final, informe o valor total da
compra da seguinte forma: “total: X INF”, onde X é o valor total.

Siga os exemplos dados abaixo:

Entrada Saída

4 ingresso solicitado
1 5 5 4 erro - conversa
2 5 4 4 ingresso solicitado
2 5 4 6 erro - ocupado
1 5 5 1 total: 45 INF

Observações:
● Documente o código, deixando, na forma de comentários, explicações sobre o que for necessário.
● Seja claro(a) e organizado(a) na construção do código.
● Siga fielmente os exemplos de entrada e saída fornecidos no enunciado.

Você também pode gostar