Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
O código abaixo possui um erro que não consigo identificar :( depois que você digita a opção desejada ele pede a temperatura para ser convertida, porem depois de você digitar ele nao exibe a resposta.
alguem sabe onde se encontra o erro?:
Program ConverteCelciusFarenheit;
var celcius,farenheit:real;
escolha:integer;
Begin
writeln ('CONVERSOR DE GRAUS');
writeln ('1 - De Celsius para Farenheit');
writeln ('2 - De Farenheit para Celsius');
writeln ('3 - Sair do programa');
writeln ('Escolha uma Opção:');
readln(escolha);
case (escolha) of
1:writeln('Digite A Temperatura em Celsius: ');
1:readln(celcius);
1:farenheit := (celcius*1.8)+32;
1:writeln (farenheit);
2:writeln('Digite A Temperatura em Farenheit: ');
2:readln(farenheit);
2:celcius := (farenheit -32)/1.8;
2:writeln(celcius);
3:ClrScr;
end;
End.
>
Eu imagino que seja pelo fato de você estar mandando limpar a tela ao fim de toda a programação. Você esta usando o comando ClrScr; Esse comando limpa a tela inteira.. experimente tirar ele e vê se funciona...
kk Parece que você copiou esse código de alguém hein.;;..
Na verdade não, ele é 100% de minha autoria, o problema e que se o ClrScr esta executando existe outro erro então, porque o ClrScr so deveria ser executado na condição 3 do CASE que no caso e sair do programa, como no Pascal nao existe nada que fecha a tela ao finaliza a execução do programa na hora, usei esse artifício para dar o ar de que o cara saiu do programa.
a parte mais chatinha ai era descobir como fazer o calculo da converssao o resto e molezinha, so que eu nao to vendo erros porem ele existe :(
e respondendo sua resposta o ClrScr não está causando o erro!
Já deu certo!
de acordo com meu Brother Cristiano todo case com mais de uma função precisa de um usa o "Begin" e "End" então o code fica assim:
Program ConverteCelciusFarenheit;
var celcius,farenheit:real;
escolha:integer;
Begin
writeln ('CONVERSOR DE GRAUS');
writeln ('1 - De Celsius para Farenheit');
writeln ('2 - De Farenheit para Celsius');
writeln ('3 - Sair do programa');
writeln ('Escolha uma Opção:');
readln(escolha);
case (escolha) of
1: Begin
writeln('Digite A Temperatura em Celsius: ');
readln(celcius);
farenheit := (celcius*1.8)+32;
writeln (farenheit);
End;
2: Begin
writeln('Digite A Temperatura em Farenheit: ');
readln(farenheit);
celcius := (farenheit -32)/1.8;
writeln(celcius);
End;
3:ClrScr;
end;
End.
Molezinha, era so uma porcaria do Pascal mesmo :) valeu Cristiano
É de fato eu tinha uma ligera dúvida em relação ao begin end, mas resolvi não postar porque não tinha certeza. Mas como você não deu detalhes sobre o erro eu cheguei a conclusão que poderia ser um problema com o ClrScr ; Mas que bom que você descobriu o erro.
Abcx,
LCS
Eu imagino que seja pelo fato de você estar mandando limpar a tela ao fim de toda a programação. Você esta usando o comando ClrScr; Esse comando limpa a tela inteira.. experimente tirar ele e vê se funciona...
kk Parece que você copiou esse código de alguém hein.;;..