Pascal/Turbo Pascal - duda codigo pascal

 
Vista:

duda codigo pascal

Publicado por kimboo (3 intervenciones) el 29/10/2003 17:14:56
hola tengo una duda con este codigo, lo q ocurre es q cuando pongo un numero positivo me sale d resultado q es positivo y cero, pero cuando pongo un numero negativo , me sale bien q es negativo
y cuando pongo un cero , me reconoce es cero, y no kiero ke salga cuando es positivo , tb el cero q le pasa?
program ejer1;
uses crt;
var
a:integer; // supuesto numero
begin
writeln (\'Escriba un numero entero\');
readln (a);
if a>0 then
begin
writeln (\'el numero es positivo\');
end;
if a<0 then
begin
writeln ( \'el numero es negativo\');
end
else
begin
writeln (\'el numero es cero\');
end;
readkey;
end.

se me conpila bien pero me da ese fallo,alguien sabe algo?
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:duda codigo pascal

Publicado por Morito (176 intervenciones) el 30/10/2003 01:24:23
Tiene que ser, porque le pones muchos if, pero si no es así te pido que me des una respuesta porque a mí también me pasa lo mismo
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:duda codigo pascal

Publicado por Diego Romero (786 intervenciones) el 30/10/2003 03:07:54
Es una cuestión de sentido común.
Pregunto si el número es positivo, si lo es muestro, sino pregunto si es cero, si lo es muestro sino, ya no necesito preguntar, ya se que es negativo.
if Numero > 0 then WriteLn('Es Positivo')
else
if Numero = 0 then WriteLn('Es cero')
else WriteLn('Es negativo');
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:duda codigo pascal

Publicado por kimboo (3 intervenciones) el 30/10/2003 12:10:19
Para q no te de errores deberías anidar las tres sentencias, es decir, poner if a>0 then....
else if a<0 then...
else writeln('el numero es cero')
otra opción podria ser escribir cada una de las sentencias por separado , asi:
if a>0 then ....
if a<0 then...
if a=0 then...
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