Pascal/Turbo Pascal - Val (Duda)

 
Vista:

Val (Duda)

Publicado por wind (26 intervenciones) el 27/04/2014 00:14:51
Saludos cordiales.

Encontre un error en VAL. Me explico. si el usuario ingresa:

.1

(Es como si el usuario ingresará un Cero, al lado izquierdo) (El programa actual, me permite este error, sin embargo quiero prohibir esto, No se me ocurre como... ¿Alguna sugerencia? ¿Se puede?)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
program project2val;
uses crt;
var
  C:string;
  respuesta:char;
  code:integer;
  C1,F1,R1,K1:real;
begin
  (*Presentación del programa*)
  writeln('Convertidor de temperatura');
  writeln('Programa creado por Benjamin C.');
  (*Captura de datos*)
  repeat
  write('Escribe la temperatura en grados celcius:');
  readln(C);
  val(C,C1,code);(*Transforma el string a un número real*)
  if (code=0) then
  begin
  F1:=1.8*C1+32;
  R1:=F1+459.67;
  K1:=C1+273.15;
  writeln('La temperatura en grados Fahrenheit es:',F1:2:2);
  writeln('La temperatura en grados Rankine es:',R1:2:2);
  writeln('La temperatura en grados Kelvin es:',K1:2:2);
end
  else
  write('Haz ingresado un dato incorrecto.');
  writeln('Presione S para ingresar m',#160,'s datos');
  writeln('Presione N para salir del programa');
  write('Seleccione una opci',#162,'n (S/N): ');
  readln(respuesta);
  until (respuesta='n') or (respuesta='N');
  writeln('Presione una tecla para finalizar el programa');
  readkey;
end.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Val (Duda)

Publicado por Diego (98 intervenciones) el 27/04/2014 01:12:07
No sé a que te refieras con error ya que val al entregar un codigo = 0 indica que se pudo realizar correctamente la trasformación.
En cuanto a .numero (ej: .1; .36); son notaciones permitidas se hacen para no escribir el 0; y los grados tambien pueden tener parte fraccionaria (osea que los grados no solo se miden en números enteros, sino que se miden en reales).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Val (Duda)

Publicado por wind (26 intervenciones) el 27/04/2014 01:14:12
A entiendo.
Gracias por aclarame.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar