All pastes #287491 Raw Edit

Something

public text v1 · immutable
#287491 ·published 2006-12-21 14:47 UTC
rendered paste body
program listy;
uses crt;
type produkt=record
     nazwa:string;
     cena:real;
     ilosc:integer;
     end;
     wskel=^element;
     element=record
     p:produkt;
     n:wskel;
     end;
     hurtwsk=^nazwa_hurt;
     nazwa_hurt=record
     hurtownia:string;
     prod:wskel;
     r:byte;
     c:real;
     h:hurtwsk;
     end;
procedure wypisz(lista_hurt:hurtwsk);
          var i:byte;
              lista1:hurtwsk;
          begin
          lista1:=lista_hurt;
          writeln('             NAZWA        CENA       ILOSC');
          while lista1<>NIL do
                begin
                writeln('HURTOWNIA ',lista1^.hurtownia);
                for i:=1 to 19 do write(chr(196));
                write(chr(194));
                for i:=1 to 11 do write(chr(196));
                write(chr(194));
                for i:=1 to 10 do write(chr(196));
                writeln;
                while (lista1^.prod<>NIL) and (lista1^.h^.prod<>NIL) do
                      begin
                      write(lista1^.prod^.p.nazwa:18,' ',chr(179));
                      write(lista1^.prod^.p.cena:10:2,' ',chr(179));
                      writeln(lista1^.prod^.p.ilosc:10);
                      lista1^.prod:=lista1^.prod^.n;
                      end;
                      writeln;
                      lista1:=lista1^.h;
                end;
          writeln;
          end;
procedure wypisz_zam(lista_zam:wskel);
          var i:byte;
              lista2:wskel;
          begin
          lista2:=lista_zam;
          writeln('ZAMOWIENIE');
          writeln('             NAZWA       ILOSC');
                for i:=1 to 19 do write(chr(196));
                write(chr(194));
                for i:=1 to 10 do write(chr(196));
                writeln;
          while lista2<>NIL do
                begin
                write(lista2^.p.nazwa:18,' ',chr(179));
                writeln(lista2^.p.ilosc:10);
                lista2:=lista2^.n;
                end;
          writeln;
          end;
procedure wypisz_dost(lista_hurt:hurtwsk);
          var i:byte;
              lista3:hurtwsk;
          begin
          lista3:=lista_hurt;
          while lista3<>NIL do
                begin
                writeln('HURTOWNIA ',lista3^.hurtownia);
                for i:=1 to 19 do write(chr(196));
                write(chr(194));
                for i:=1 to 11 do write(chr(196));
                write(chr(194));
                for i:=1 to 10 do write(chr(196));
                writeln;
                while (lista3^.prod<>NIL) and (lista3^.h^.prod<>NIL) do
                      begin
                      write(lista3^.prod^.p.nazwa:18,' ',chr(179));
                      write(lista3^.prod^.p.cena:10:2,' ',chr(179));
                      write(lista3^.prod^.p.ilosc:10);
                      lista3^.prod:=lista3^.prod^.n;
                      end;
                      writeln;
                      write('DOSTEPNE : ',lista3^.r);
                      writeln('   CENA : ',lista3^.c:5:2);
                      lista3:=lista3^.h;
                end;
          writeln;
          end;
var
   hurt:text;
   f,zam_file:file of produkt;
   hurtow,lista_hurt,lista5:hurtwsk;
   e,lista_e,lista_zam,zamow,lista4:wskel;
   txt1:string;
   pr:produkt;
   cena:real;
   dost:byte;

begin
clrscr;

assign(hurt,'hurt.txt');
reset(hurt);
lista_hurt:=NIL;

while not eof(hurt) do
      begin
      readln(hurt,txt1);
      new(hurtow);
      hurtow^.hurtownia:=txt1;
      assign(f,txt1);
      reset(f);

      lista_e:=NIL;
      while not eof(f) do
            begin
            new(e);
            read(f,pr);
            e^.p:=pr;
            e^.n:=lista_e;
            lista_e:=e;
            end;
      close(f);
      hurtow^.prod:=lista_e;
      hurtow^.h:=lista_hurt;
      lista_hurt:=hurtow;
      end;
close(hurt);
{wypisz(lista_hurt);}

assign(zam_file,'zam.bin');
reset(zam_file);
lista_zam:=NIL;

while not eof(zam_file) do
      begin
      new(zamow);
      read(zam_file,pr);
      zamow^.p:=pr;
      zamow^.n:=lista_zam;
      lista_zam:=zamow;
      end;

readln;
clrscr;
wypisz_zam(lista_zam);

cena:=0;

lista5:=lista_hurt;
while lista_hurt<>NIL do
begin
lista_hurt^.r:=1;
lista_hurt^.c:=0;


     while lista_zam<>NIL do
     begin
     dost:=0;
     writeln(lista_zam^.p.nazwa);
     writeln(lista_hurt^.prod^.p.nazwa);
     while lista_hurt^.prod<>NIL do
           begin
           writeln(lista_hurt^.prod^.p.nazwa);
           if (lista_zam^.p.nazwa=lista_hurt^.prod^.p.nazwa) and (lista_zam^.p.ilosc<=lista_hurt^.prod^.p.ilosc) then
           begin
           writeln('cos3');
           writeln(lista_hurt^.prod^.p.cena:8:2,' ',lista_zam^.p.ilosc);
           cena:=lista_hurt^.prod^.p.cena*lista_zam^.p.ilosc;
           lista_hurt^.c:=lista_hurt^.c+cena;
           dost:=1;
           end;
           lista_hurt^.prod:=lista_hurt^.prod^.n;
           end;
     lista_hurt^.r:=lista_hurt^.r*dost;
     lista_zam:=lista_zam^.n;
     end;
lista_hurt:=lista_hurt^.h;
end;



readln;
wypisz_dost(lista_hurt);
readln;
end.