Witam, mam napisać na zaliczenie mini sklep w pascalu. Mam problem z przypadkiem braku miejsc w tablicy oraz takiego samego elementu. Mimo że taki element już jest to on dodaje go do następnej komórki. W przypadku braku miejsc nie wywołuje procedury usuwanie.
uses crt,dos;
var
kategoria: array[1..255] of string;
liczba,i:integer;
nazwa:string;
function szukanie(a:string):string;
var
c:integer;
b:string;
Begin
for i := 1 to 255 do
Begin
if kategoria[i] = ' ' then
Begin
if kategoria[i] = a then
Begin
szukanie:='blad';
break;
end
else if kategoria[i] <> a then
Begin
szukanie:='ok';
break;
end
else if i <255 then
Begin
Writeln('Nie ma wolnego miejsca');
szukanie :='brak miejsca';
End;
End;
End;
End;
procedure usuwanie(liczba:integer);
Begin
kategoria[liczba]:=' ';
End;
procedure dodawanie(a:string);
Begin
kategoria[i]:= nazwa;
End;
Begin
clrscr;
for i:= 1 to 255 do
Begin
kategoria[i] := ' ';
End;
kategoria[1]:='warzywa';
Writeln('Podaj nazwe kategori ktora chcesz dodac');
Readln(nazwa);
szukanie(nazwa);
if szukanie(nazwa) = 'ok' then
Begin
dodawanie(nazwa);
End;
if szukanie(nazwa) = 'brak miejsca' then
Begin
Writeln('podaj numer komorki, ktora chcesz usunac');
Readln(liczba);
usuwanie(liczba);
End;
for i:= 1 to 5 do
Begin
Writeln(i,' ',kategoria[i]);
End;
Repeat until keypressed;
End.