Ahojte potreboval by som pomoc s mojim programom. Jedna sa o smerniky v pascale a problem mam s mazanim smernika a hladanim smernika.
Mozte sa nato pozret a podarit mi. Uz sa s tym trapim dost a nejak stale mi to nejde.
Aj si to kreslim na papier a nic.
Kód:
PROGRAM ZVIERATKA;
TYPE UK=^ZVIERA;
ZVIERA=RECORD
MENO:STRING[50];
DRUH:STRING[50];
MAJITEL:STRING[50];
DALSI:UK;
END;
VAR R:UK;
A:CHAR;
PROCEDURE VLOZ (VAR Z:UK);
VAR PP:UK;
MENO:STRING;
DRUH:STRING;
MAJITEL:STRING;
BEGIN
NEW (PP);
WRITELN ('ZADAJ MENO ZVIERATA');
READLN (MENO);
PP^.MENO:=MENO;
WRITELN ('ZADAJ DRUH ZVIERATA');
READLN (DRUH);
PP^.DRUH:=DRUH;
WRITELN ('ZADAJ MAJITELA');
READLN (MAJITEL);
PP^.MAJITEL:=MAJITEL;
PP^.DALSI:=Z;
Z:=PP;
END;
PROCEDURE VYPIS (Z:UK);
VAR PP:UK;
BEGIN
PP:=Z;
WRITELN ('MENA ZVIERAT SU:');
WHILE (PP<>NIL) DO BEGIN
WRITELN (PP^.MENO,' ');
PP:=PP^.DALSI;
END;
END;
PROCEDURE ZRUS (VAR Z:UK);
VAR Q,PP:UK;
MENO:STRING;
BEGIN
WRITELN ('ZADAJ MENO ZVIERATA KTOREHO POLOZKU CHCETE ZRUSIT');
READLN (MENO);
PP:=Z;
IF (MENO=PP^.MENO) THEN BEGIN
Z:=Z^.DALSI;
DISPOSE (PP);
END
ELSE
Z:=Z^.DALSI;
WHILE PP<>NIL DO BEGIN
IF (Z^.MENO=MENO) THEN BEGIN
Z:=Z^.DALSI;
Q:=PP;
PP:=PP^.DALSI;
Q^.DALSI:=Z^.DALSI;
DISPOSE (PP);
END;
END;
END;
FUNCTION HLADAJMAJITEL (Z:UK):UK;
VAR PP:UK;
X:STRING;
BEGIN
HLADAJMAJITEL:=NIL;
PP:=Z;
IF (Z=NIL) THEN BEGIN
WRITELN ('ZOZNAM JE PRAZDNY');
EXIT;
END;
WRITELN ('ZADAJ MAJITELA');
READLN (X);
BEGIN
WHILE (PP<>NIL) DO BEGIN
IF (X=PP^.MAJITEL) THEN BEGIN
WRITELN ('PRVOK SA NASIEL',X);
HLADAJMAJITEL:=PP;
BREAK;
END;
END;
END;
END;
FUNCTION HLADAJDRUH (Z:UK):UK;
VAR PP:UK;
X:STRING;
BEGIN
HLADAJDRUH:=NIL;
PP:=Z;
IF (Z=NIL) THEN BEGIN
WRITELN ('ZOZNAM JE PRAZDNY');
EXIT;
END;
WRITELN ('ZADAJ DRUH ZVIERATA');
READLN (X);
BEGIN
WHILE (PP<>NIL) DO BEGIN
IF (X=PP^.DRUH) THEN BEGIN
WRITELN ('PRVOK SA NASIEL',X);
HLADAJDRUH:=PP;
BREAK;
END;
END;
END;
END;
BEGIN
REPEAT
WRITELN ('V - VLOZENIE NOVEJ POLOZKY');
WRITELN ('Z - ZRUSENIE EVIDENCIE');
WRITELN ('M - HLADANIE PODLA MAJITELA');
WRITELN ('D - HLADANIE PODLA DRUHU');
WRITELN ('K - KONIEC PROGRAMU');
WRITELN ('U - VYPIS MIEN ZVIERAT');
READLN (A);
CASE A OF
'V': VLOZ (R);
'U': VYPIS (R);
'Z': ZRUS (R);
'M': HLADAJMAJITEL (R);
'D': HLADAJDRUH (R);
END
UNTIL (A='K');
END.
Prosim Vas kto vie pomozte mi

Dakujem velmi pekne

[/code]