Pascal/Turbo Pascal - EVALUACION FACIL DE PASCAL-AYUDA

   
Vista:

EVALUACION FACIL DE PASCAL-AYUDA

Publicado por nicole (4 intervenciones) el 04/09/2009 23:50:40
Hola les dejo acá mi evaluación de pascal, no es tan interesante de que se trata sino que no se en donde esta el error y me dice [B]"Type mismatch"[/B] .

program stock_al_final_del_dia;
uses crt;
var s,n,c:integer;
begin
clrscr;
writeln('ingrese el stock');
readln(s);
writeln('ingrese nombre del cliente');
readln(n);
while n<>'fin' do
begin
writeln('ingrese cantidad solicitada');
readln(c);
if c>1000 then
writeln('la cantidad solicitada fue mayor a 1000');
if c<=s then
writeln('se vendio al Sr', n);
s:=s-c;
else
writeln('no se vendio al Sr', n);
writeln('ingrese nombre del cliente');
readln(n);
end;
delay(1500);
writeln('el stock al final del dia fue',s);
readkey;
end.

[B]Me lo van a tomar en una evaluacion dentro de 5 dias y necesito hacerlo bien!!, MUCHAS GRACIAS .[/B]
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:EVALUACION FACIL DE PASCAL-AYUDA

Publicado por Diego Romero (997 intervenciones) el 05/09/2009 00:52:40
En esta línea:

while n<>'fin' do

n es un integer y 'fin' es una cadena de caracteres, no puedes comparar un número con una cadena de caracteres. La solución: declara n como string.
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:EVALUACION FACIL DE PASCAL-AYUDA

Publicado por nicole (4 intervenciones) el 05/09/2009 01:01:50
pero me dice error en statement , en la parte de "else".
gracias por lo de poner n como string.
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:EVALUACION FACIL DE PASCAL-AYUDA

Publicado por sheik (9 intervenciones) el 05/09/2009 05:11:47
antes que nada " dime que programa tratas de aser o tienes duda de como se usa el string
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:EVALUACION FACIL DE PASCAL-AYUDA

Publicado por Diego Romero (997 intervenciones) el 05/09/2009 12:44:29
Quita el punto y coma que está inmediatamente antes del else. Antes de else nunca va punto y coma.

http://driverop.com.ar/vertperr.php?num=comp113
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:EVALUACION FACIL DE PASCAL-AYUDA

Publicado por Daniel (4 intervenciones) el 19/09/2009 22:27:31
Hola estoy de paso por aca y que sorpresa encontrar personas que aun usan el pascal... en lo personal me gusta el pascal, lastima que no puedan usarse las mismas sentencias simples para crear programas en Windows.
Aca va mi sugerencia al problemita:

program stock_al_final_del_dia;

uses crt;

var
stock,{n,} cantidad:integer;
{N no puede ser integer si vas a almacenar cadenas}
NOMBRE : string;

BEGIN
clrscr;
writeln('ingrese el stock');
readln(stock);
writeln('ingrese nombre del cliente');
readln(Nombre);

while Nombre <> 'fin' do
begin

writeln('ingrese cantidad solicitada');
readln(cantidad);

IF Cantidad > 1000
THEN
writeln('la cantidad solicitada fue mayor a 1000');

If cantidad <= Stock
THEN
Begin
writeln('se vendio al Sr', Nombre);
stock := stock - cantidad;
end
Else
Begin
writeln('no se vendio al Sr', Nombre);
end;

writeln('ingrese nombre del cliente');
readln(Nombre);

{No veo necesidad de repetir esto, si simplemente utilizas
Repeat...until, pero tal vez estas aprendiendo a usar el While..do
en todo caso puede optimizarse para no estar repitiendo estas lineas}

END; {fin del While Do}

delay(1500);
writeln('el stock al final del dia fue',s);
{readkey; }
{Puedes reemplazarlo por readln o repeat until keypressed}
Readln;
end.
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