Wpis z mikrobloga

#programowanie #pascal Proszę o pomoc sprawdźcie mi kod, wiem jestem lewy z programowania i siedziałem nad tym cały wczorajszy dzień ale i tak mi to nie działa ;/

program biblioteka ;

Type data1=record
dzien: 1..31;
miesiac: 1..12;
rok:1900..2016;
end;

type calosc=record
tytul: string[30];
druk:data1;
prawda:string[1]
end;

type
tab= array [1..20] of calosc ;

var
baza:calosc;
data:data1;
l:tab;

procedure wpisz(var l:tab);
var i: integer;
begin
for i:=1 to 3 do
begin
with l[i] do
begin
writeln('podaj tytul',i,' ksiazki');
readln(baza.tytul);
writeln('podaj date- dzien,miesiac,rok');
readln(data.dzien);
readln(data.miesiac);
readln(data.rok);
{writeln('czy ksiazka jest podrecznikiem (T,N)');
readln(baza.prawda); }
{if (baza.prawda=116) and (baza.prawda=110)
writeln(poprawne); else
Writeln(niepoprawne oznaczenie); }
end;
end;
end;
procedure sorttyt(var l:tab);
var i,j:integer;
t:calosc;

begin
for i:=1 to 3-1 do
begin
for j:=0 to i-1 do
if l[j].tytul>l[j+1].tytul then begin
t:=l[j];
l[j]:=l[j+1];
l[j+1]:=t;
end;
end;
end;

procedure sortdat(var l:tab);
var i,j:integer;
t:calosc;
begin
writeln(' Po sortowaniu datami');
for i:=0 to 3-1 do
for j:=0 to i-1 do
begin
if l[j].druk.rok>l[i].druk.rok then
begin
t:=l[j];
l[j]:=l[i];
l[i]:=t;

end;
end;
end;

procedure wys(l:tab);
var
i,a:integer;
begin
for i:=1 to 3 do
begin
writeln(' kiazka',i);
with l[i] do
for a:=1 to 3 do
writeln (' tytul :',tytul);
writeln ('data:',data.dzien,'.',data.miesiac,'.',data.rok);
{writeln ('Czy ksiazka jest podrecznikiem',prawda); }
end;
{repeat until keypressed;}
writeln;
writeln ;
end;

begin
wpisz(l);
writeln ('przed sortowaniem');
wys(l);
sorttyt(l);
wys(l);
sortdat(l);
wys(l);
write;
readln;

end.
  • 8
Noga jestem z tym.Obstawiam że sortowanie jest do dupy bo zdarłem od kumpla ze starego programu i nie wiem czemu nic nie wyświetla na sam koniec
@ToraniXo: wpisz:
robisz "with L", a wczytujesz do baza.tytul (lokalna zmienna)

Wyświetlanie - trzy razy (przez "a") próbujesz wyświetlić coś co iterujesz po "i"

Ciężko się to czyta. "calosc" powinna się chyba nazywać "książka", jakieś "L" niech będzie jakimś zbiorem, a nie "L". Nie wiadomo co do czego służy i przez to się sam gubisz.