Salve rapaziada! boa noite! Minha dúvida é o seguinte: Como utilizar o comando REPEAT depois do ELSE dentro CASE OF. Sou novato e estou estudando em Pascal. No entanto surgiu está dúvida pois o laço de repetição não está funcionando. Estou criando um programa para calcular o consumo e despesas efetuada por um viajante em um determinado carro abastecido por um total de litros de um combustivel X de valor Y. a estrutura seguinte do programa se encontra nesta posição:
PROGRAM Consumo;
uses crt;
VAR
valor, km, opcao, consumo, despesa: real;
litros: integer;
comb: integer;
BEGIN
WRITELN(' COMBUSTIVEL');
WRITELN;
WRITELN('> [1] - GASOLINA');
WRITELN('> [2] - ALCOOL');
WRITELN('> [3] - DIESEL');
WRITELN;
WRITE('SELECIONE O TIPO DE COMBUSTIVEL: ');
READ(comb);
WRITELN;
CASE comb OF
1: WRITELN('COMBUSTIVEL SELECIONADO: GASOLINA');
2:WRITELN('COMBUSTIVEL SELECIONADO: ALCOOL');
3: WRITELN('COMBUSTIVEL SELECIONADO: DIESEL');
ELSE
REPEAT
WRITELN('COMBUSTIVEL SELECIONADO: INVÁLIDO');
WRITELN('SELECIONE O TIPO DE COMBUSTIVEL: ');
READ(comb);
UNTIL (comb < 1) and (comb >= 4);
END;
WRITELN;
WRITE('INFORME O VALOR DO COMBUSTIVEL: ');
READ(valor);
WRITELN;
WRITE('INFORME A QUANTIDADE DE LITROS ABASTECIDA: ');
READ(litros);
WRITELN;
WRITE('INFORME A QUILOMETRAGEM PERCORRIDA: ');
READ(km);
WRITELN;
consumo := (km / litros);
despesa := (valor * litros);
IF (comb = 1) THEN
begin
WRITELN('COMBUSTIVEL: GASOLINA');
WRITELN('VALOR DO COMBUSTIVEL: R$', valor:2:2, ' REAIS');
WRITELN('LITROS: ', litros:2:1);
WRITELN('DISTANCIA: ',km:3:2, ' KM');
WRITELN('CONSUMO: ', consumo:2:2,' KM POR LITROS DE COMBUSTIVEL');
WRITELN('DESPESA: R$', despesa:2:2, ' REAIS');
end;
IF (comb = 2) THEN
begin
WRITELN('COMBUSTIVEL: ALCOOL');
WRITELN('VALOR DO COMBUSTIVEL: R$', valor:2:2, ' REAIS');
WRITELN('LITROS: ', litros:2:1);
WRITELN('DISTANCIA: ',km:3:2, ' KM');
WRITELN('CONSUMO: ', consumo:2:2,' KM POR LITROS DE COMBUSTIVEL');
WRITELN('DESPESA: R$', despesa:2:2, ' REAIS');
end;
IF (comb = 3) THEN
begin
WRITELN('COMBUSTIVEL: DIESEL');
WRITELN('VALOR DO COMBUSTIVEL: R$', valor:2:2, ' REAIS');
WRITELN('LITROS: ', litros:2:1);
WRITELN('DISTANCIA: ',km:3:2, ' KM');
WRITELN('CONSUMO: ', consumo:2:2,' KM POR LITROS DE COMBUSTIVEL');
WRITELN('DESPESA: R$', despesa:2:2, ' REAIS');
end;
READKEY;
END.