Estou desenvolvendo um algoritmo para o meu trabalho final, onde o usuário faz um chamado para o mecânico pelo sistema. Os mecânicos são divididos em níveis, e eles só podem atender uma maquina com nível correspondente ou menor do que a do cargo deles.
Por isso, alguns chamados não vão ser atendidos, uma vez que os mecânicos não vão ter disponibilidade ou os cadastrados vão ser apenas de nível menor do q o da maquina. Criei um procedimento de reprocessamento de pedido, pra que quando fosse cadastrado um mecânico de nível igual ou superior, ele fosse atender e aparecesse no relatório. Estou cometendo algum erro e ele puxa no relatório o primeiro mecânico cadastrado
procedimento reprocessamento()
inicio
para r de 1 ate qtde_chamados faca
se (mecanicos.nome_mecanico[solicitacao[r].cod_mecanico] = 0) entao
selecao_mecanico(r)
solicitacao.status[r] := ( "Em atendimento" )
senao
solicitacao.status[r] := ( "Em aberto" )
fimse
fimpara
fimprocedimento>