[ Foro de Pascal ]

problema con archivo

22-May-2011 20:55
oscar gomez
3 Respuestas

Cordial saludo profesor nacho.

tengo el siguiente problema en mi solucion del siguiente codigo.
el problema que tengo es que cuando introduzco un codigo distinto de 9999, el programa termina lo cual es correcto, pero cuando introduzco un codigo distinto de '9999', porejemplo al '0001' y los demas datos del articulo y termino la introduccion de los demas datos  con '9999', en el resultado el codigo que toma es el '9999' y no el '0001', el resto de datos los muestra correctamente, que puedo tener mal?

program previo;
uses crt;
type registro_almacen=record
              codigo_articulo:string[4];
              existencia:integer;
              costo_existencia:real;
              end;
var almacen:file of registro_almacen;
reg:registro_almacen;
acumulado:real;
 begin
   assign(almacen,'almacen.dat');
   rewrite(almacen);
   repeat
     clrscr;
     writeln;writeln;writeln;writeln;
     write('cual es el codigo del articulo:');
     readln(reg.codigo_articulo);
     if(reg.codigo_articulo <>'9999') then
      begin
        write('cuales son las existencias del articulo:');
        readln(reg.existencia);
        write('cual es el costo de la existencia:');
        readln(reg.costo_existencia);
        write(almacen,reg);
       end;
      { write(almacen,reg);}

      until (reg.codigo_articulo='9999');

  { close(almacen);}

   writeln;
   writeln;
   acumulado:=0;
   reset(almacen);
   clrscr;
   writeln;writeln;writeln;writeln;
   
 while not eof(almacen) do
   begin
    writeln(reg.codigo_articulo:11,' ');
    writeln(reg.existencia:10,' ',reg.costo_existencia:21:2);
    acumulado:=acumulado+reg.costo_existencia;
   end;
writeln('el total del costo de las existencias  es:',acumulado:25:2);
  write('presione cualquier tecla para terminar');
  readkey;
  close(almacen);
end.

por favor dime por que tengo el problema.mil gracias por tu tiempo y ayuda.


22-May-2011 21:27
Antonio P.G.

Hola, Óscar.

Lo he mirado por encima, y no sé si será el fallo, pero al final, cuando haces el bucle "while"... ¿de dónde sacas los datos que se escriben en la pantalla? Quiero decir, parece que no los estás leyendo del archivo recién creado...

¡Ciao!


23-May-2011 11:09
oscar gomez

Hola Profesor Nacho cabanes,MILLLLLLLLLLLLLL GRACIASSSSSS por tu ayuda y disculpame que acuda tanto a tu ayuda, estoy en este proceso y le estoy poniendo todo el empeño y dedicacion y siempre sabes que cuando se esta aprendiendo surgen dudas y lo mejor para aprender es preguntar y a quien mejor que tu que eres un excelente profesor y ademas de ello reflejas en toda la ayuda que nos brindais la calidad humana que teneis, mil gracias..

Tenias razon el problema es efectivamente el que me indicabas, lo corregi y ya me funciona perfecto.GRACIAS.


23-May-2011 20:41
Antonio P.G.

Hey, Óscar, de nada (pero prefiero que me llamen "Antonio" en vez de "Profesor Nacho", ¡Ja ja ja ja!). Me alegro de que te funcione. Ciao!






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)