Estoy aprendiendo a programar en Pascal y me he encontrado con un pequeño problema

Quizá este muy usada la frese, pero estoy aprendiendo a usar pascal y me he encontrado con un pequeño problema, ojala me ayudes a resolverlo.
Deseo convertir grados Celsius a Fahrenheit y viceversa mediante un programa, he realizado este código pero me salen los dos resultados y solo quiero que aparezca uno solo cuando la opción sea la correcta.
program grados;
uses crt;
var
F,C:real;
opcion:char;
temp:real;
celcius,fahrenheit:real;
begin
clrscr;
writeln('escribe de acuerdo el tipo temperatura, F y C');
readln(opcion);
writeln('escribe los grados a convertir');
readln(temp);
if opcion='F' then
fahrenheit:=temp*9/5+32;
writeln('la temperatura en grados Fahrenheit es',Fahrenheit:2:2);
If opcion='C' then
celcius:=(temp-32)*5/9;
writeln('la temperatura en grados Celsius  es',Celcius:2:2);
readln;
End.

1 Respuesta

Respuesta
1
La solución es sencilla cuando pones los if tienes que poner un else entre ellos de manera que al momento que ejecute una condición no realice la otra
program grados;
uses crt;
var
fahrenheit,celcius,temp:real;
opcion:char;
begin
clrscr;
writeln('escribe de acuerdo el tipo temperatura, F y C');
readln(opcion);
writeln('escribe los grados a convertir');
readln(temp);
if opcion='F' then
begin
fahrenheit:=temp*9/5+32;
writeln('la temperatura en grados Fahrenheit es ',Fahrenheit:2:2);
end
else
If opcion='C' then
begin
celcius:=(temp-32)*5/9;
writeln('la temperatura en grados Celsius  es',Celcius:2:2)
end;
readln;
End.
Nuevamente te agradezco tu tiempo, conocimientos y atención a mi pregunta, pero sobre todo la brvedad con la que has contestado, con ello resuelvo el problema.
Gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas