Uma oficina mecânica visa atender seus clientes de forma rápida e eficaz. Esta oficina oferece serviço de conserto de carros de passeio e carros utilitários.

Para garantir que o tempo de espera seja pequeno, nesta oficina cada carro pode apresentar no máximo 3 problemas de cada vez (se o carro apresentar mais que 3 problemas, o cliente escolhe 3 problemas para serem consertados e volta à oficina para corrigir os problemas restantes posteriormente).

Os serviços oferecidos nesta oficina, bem como o tempo máximo factível para a solução de cada problema, estão expostos na tabela abaixo:

Serviço Tempo máximo factível para a execução do serviço em carro de passeio Tempo máximo factível para a execução do serviço em carro utilitário
Troca de óleo 1 hora 1 hora
Alinhamento 0,5 hora 1 hora
Balanceamento 0,5 hora 1 hora
Troca de Pneus 0,5 hora 0,5 hora

Sua tarefa é construir um programa que seja capaz de gerenciar o movimento desta oficina.

Seu programa deve conter estruturas capazes de armazenar os serviços a serem executados (filas), deve permitir entrada de um carro na oficina, saída de um carro da oficina, consulta ao tempo máximo factível de espera na fila, imprimir a quantidade de carros de passeio e utilitários em espera, e imprimir a quantidade de carros de passeio e utilitários em espera por serviço.

Um grande abraço e até o próximo post!