Pascal/Turbo Pascal - Ayuda con tipos de datos

 
Vista:

Ayuda con tipos de datos

Publicado por Principiante (2 intervenciones) el 25/10/2005 20:30:43
Soy un novato en ésto del Pascal, y en una práctica me piden leer números enteros y mostrar un mensaje de error si el número introducido no es un entero (por ejemplo, 'a', 3,2...). Sé que trunc(n) devuelve la parte entera de un número real, pero sólo funciona con el punto decimal, no con la coma. La pregunta es: ¿cómo puede "detectarse" si el dato introducido no es exclusivamente entero?

Desde ya gracias.
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

RE:Ayuda con tipos de datos

Publicado por Roberto Garcia (56 intervenciones) el 26/10/2005 06:32:26
Me se una forma que a veces utilizo, aunque en cierta forma es algo un poco avanzado. se trata simplemente de leer una entrada desde el teclado y tratar de guardarla en una variable entera, todo esto deshabilitando el chequeo de errores, si despues de leer la entrada no hubo ningun error, ciertamente la entrada es un numero entero, de lo contrario no es un entero.

var
esnumero:integer;
numero:integer;

begin
repeat
{$i-}
read(numero);
{$i+}
esnumero := ioresult
if esnumero <> 0 then
write('El numero introducido no es un numer entero');
until esnumero=0;
end.

Lo que haces con {$i-} es desactivar el chequeo de errores para que en caso de que el numero que el usuario introduzca no sea un entero, luego con {$i+} vuelves a activr el chequeo de errores, despues ioresult guardar el codigo de error (si lo hay) si ioresult <> 0 es seguro que hubo un error, ese numero lo guardo en la variable esnumero, si es numero <> 0 entonces mando un mensaje, y vualvo a leer informacion del teclado hasta que no haya ningun codigo de error, es decir hasta que esnumero sea igual a cero.

Claro que tiene sus incoveninetes, habra otras formas como checar caracter por caracter verificando que todos sean numeros, etc. etc.

Saludos
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

RE:Ayuda con tipos de datos

Publicado por Principiante (2 intervenciones) el 26/10/2005 13:26:36
Muchas gracias por la aportación. Es muy bien recibida. La probaré.

Gracias de nuevo y un saludo.
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

RE:Ayuda con tipos de datos

Publicado por LUIS O. Rivaldo (23 intervenciones) el 26/10/2005 15:05:15
Hay otra forma muy sencilla y es usando la funcion VAL.
Mira en la yuda de pascal esta funcion es muy buena te hace la validacion que necesitas .

Aprovecha Esta Gran Oportunidad Te Invita (RIVALDO)
http://www.conferencias.llamandoalmundo.com
Recuerda Entrar como DT-TU_NOMBRE-TU_PAIS -LUIS_RIVALDO
Pasa por aqui y dejas tus datos:
www.rivaldo.ubifone.com/spanish
www.cyberoficinas.com/rivaldo
www.conexionglobal.net/rivaldo
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