PDA

Ver la versión completa : problema para leer caracteres en modula 2



olaznog
16-04-2007, 20:19
hola, recién estoy comenzando a programar en modula y tengo un problema, es el siguiente: intento llenar un arreglo con caracteres, y esto es lo que hago

FOR i:= 1 TO N DO
WriteString('escribi un caracter');
Read(Y[i]);
END; (*FOR*)

y me pasa ésto, en el primer lugar me guarda un caracter, en el segundo nada, en el 3 caracter, en el 4 nada, y asi sucesivamente, alguien sabe que ewstoy haciendo mal?
saludos

Cypress
16-04-2007, 22:24
jaja.. a mi me pasó lo mismo.. y la verdad todavia no tengo para nada claro porque pasa esto. pero la solucion es poner dos veces read
mirá un pedaso de código:

FOR i := 1 TO 2 DO
FOR j:= 1 TO 8 DO
IF i = 1 THEN
WriteString ("Ingrese el nº ");
WriteCard(j,0);
WriteLn;
Read (a[j]); (* esto si que es bien raro *)
Read (a[j]);
ELSE
WriteString ("Ingrese el nº ");
WriteCard(j,0);
WriteLn;
Read (b[j]);
Read (b[j]);
END;
END;
END;

Saludos,
Cypress

P.S espero que no estudies en mi misma facultad, porque no podemos compartir codigos :( por la copia en el obligatorio y demas.
La forma en que pones el comentario al final del FOR me hace sospechar que si :p

olaznog
17-04-2007, 01:37
ahora en lugar de leer uno sí y uno no, no lee nada.
voy a seguir intentando, capaz que yo estoy escribiendo una cosa diferente a la que quiero hacer.
saludos.
P.S estudio en la fing (uruguay)

olaznog
17-04-2007, 04:00
ya lo solucioné utilizando SkipLine
saludos

Cypress
17-04-2007, 15:59
Este compilador me parece que se porta diferente dependiendo del clima del día jajaja no se.. yo tenia este problema :
http://img78.imageshack.us/img78/2066/elprogramavp3.jpg

y lo arregé poniendo dos read (lo cual no tiene mucho sentido.. pero a me me funcionó).
Voy a probar eso de SkipLine, pertenece al estandar ISO y el modulo es: STextIO.

Saludos,
Cypress

P.S: ni que pudiera predecir el futuro.. jaja vamos a la misma facu :p