SoloCodigo

Programación General => Pascal => Mensaje iniciado por: JACC en Martes 9 de Mayo de 2006, 20:34

Título: Restrccion De Caracteres
Publicado por: JACC en Martes 9 de Mayo de 2006, 20:34
por ejemplo:

writeln('Coloque la cantidad de nietos');
readln(n);
while (n<=0) do begin
writeln('ERROR');
writeln;
writeln('coloque la cantidad de nietos');
readln(n);
end;

esto restringe los numeros negativos... ¿como puedo hacer para restringir todos los caracteres? (a..z , A..Z , ª!"·$%&/()=?¿*^Ǩ_:) todo eso. ..gracias
Título: Re: Restrccion De Caracteres
Publicado por: Enko en Miércoles 10 de Mayo de 2006, 14:40
Código: Text
  1.  
  2. uses
  3. CRT;
  4. var
  5.    i:Integer;
  6. begin
  7. {&#036;I-}
  8.   ReadLn(I);
  9.   if IOResult &#60;&#62; 0 then
  10.     WriteLn('Error');
  11. {&#036;I+}
  12. Readkey;
  13. end.
  14.  
  15.  

Esto desactiva la verificacion de Entrada y Salida, de manera si ingresas una letra, la ejecutable no te manda un error en tiempo de ejecucion. IOREsult es el resultado de una operacion de E/S, si es Distinto de 0, es porque hubo un error lo que quiere decri que el numero esta mal escrito.
Título: Re: Restrccion De Caracteres
Publicado por: juancpalmajr en Miércoles 24 de Mayo de 2006, 04:43
Cita de: "JACC"
por ejemplo:

writeln('Coloque la cantidad de nietos');
readln(n);
while (n<=0) do begin
writeln('ERROR');
writeln;
writeln('coloque la cantidad de nietos');
readln(n);
end;

esto restringe los numeros negativos... ¿como puedo hacer para restringir todos los caracteres? (a..z , A..Z , ª!"·$%&/()=?¿*^Ǩ_:) todo eso. ..gracias
perdon pero ese algoritmo no restringe los numeros negativos, para salir de ese bucle la unica manera es poniendo un numero positivo, jajaja.
Osea Mientras que n sea menor o igual a cero va a seguir.
es como si yo diria:
Código: Text
  1.  
  2. While (n&#62;-1) Do Begin
  3.   Readln (n);
  4. End;
  5.  
  6.  

en cada ciclo va a preguntar "n es mayor que -1" Si bueno entonces sigo, si n es menor que -1, bueno entonces corto.