Pascal/Turbo Pascal - Varias lineas de codigo en una opcion case of

 
Vista:

Varias lineas de codigo en una opcion case of

Publicado por Axel (11 intervenciones) el 06/11/2007 19:55:47
Hola buenas. Despues de que me resolvieseis una duda con este tipo de sentencia, ahora tengo otra, en cada opcion necesito escribir varias lineas de codigo, el codigo que pongo funciona, por que probado sin la sentencia case no da problemas, asi que supongo que es fallo de sintaxis. Por ejemplo:

repeat
read (num);
case num of
1: begin
read (car);
writeln(' El caracter introducido es ' , a);
end;
2: ;
end;
until num=2

Asi puesto un poco a lo cutre, es basicamente como lo escribo, no se si me sobra algun punto y coma, o si deberia de funcionar y el fallo esta en otro lado. Se agradece cualquier sugerencia o ayuda

Muchas 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:Varias lineas de codigo en una opcion case of

Publicado por Bernabé (1 intervención) el 06/11/2007 22:57:20
Señores cuando yo corro este programa, no funciona
la línea que dice:

read (car);

Solo funciona cuando se declara la variable car como intreger.
Al declararla como char o como string parece que esta línea es omitida.

Alguien sabe porqué?
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:Varias lineas de codigo en una opcion case of

Publicado por Diego Romero (996 intervenciones) el 07/11/2007 01:22:53
repeat
read (num);
case num of
1: begin
read (car);
writeln(' El caracter introducido es ' , a);
end; { de la opción 1 }
2: begin;
{ más sentencias aquí }
end; { de la opción 2 }
end; { del case }
until num=2;
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:Varias lineas de codigo en una opcion case of

Publicado por axel (11 intervenciones) el 14/11/2007 18:05:37
Buenas, aqui estoy de nuevo con esta misma duda, no habia tenido ocasion de probarlo en condiciones por que el resto del programa no funcionaba al 100 %

A ver, escribo el bucle asi:

repeat
read(num);
case num of
1 : begin
assign(fe, 'c:/prcA.txt);
reset(fe);
dim:=4;
leermat(m,fe,dim);
matrix(fe,dim,m);
close(fe);
end;
2 : begin;
assign(fe, 'c:/prcB.txt');
reset(fe);
dim:=6;
leermat(m,fe,dim);
matrix(fe,dim,m);
close(fe);
end;

end;
until num=3;
end.

En principio, pienso que esta bien, falla al entrar en el procedimiento llamado matrix, el cual si lo ejecuto en el programa principal no me da ningun problema, pero dentro del CASE me da error, ¿existe alguna restriccion dentro de este tipo de bucles?

A ver si alguien me puede hechar una mano ; )

Muchas gracias a todos
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:Varias lineas de codigo en una opcion case of

Publicado por Diego Romero (996 intervenciones) el 15/11/2007 03:50:52
No sé qué hace matrix(), no te puedo decir. *Supongo* que debe ser por los tipos de datos de los parámetros pero si no tengo el código, estoy adivinando.
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:Varias lineas de codigo en una opcion case of

Publicado por axel (11 intervenciones) el 15/11/2007 07:23:24
A ver te digo.

type
tmatriz: packed array [1..8,1..8] of char;
var
Dim:integer
fe:text;
m:tmatriz;

¿Sabes por que puede ser?, esta noche si puedo apunto el error y te pongo cual es.

Salu2 y muchas gracias
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