Witam chce napisać prostą baze danych do ktorej bede mógł wprowadzić osoby zdefiniowane jako rekordy. Bazą ma być tablica jednowymiarowa typu rekordowego.
Napisałem procedure która będzie odpowiedzialna za dodawanie rekordu do tablicy rekordów. Analogicznie zrobiłem procedure odpowiedzialną za wyświetlanie pojedynczego rekordu oraz całej tablicy rekordów.
Utknąłem bo nie wiem jak wypełniać tablicę bez pętli for. Zaznaczyłem pytajnikami miejsca gdzie nie wiem co wpisać. Chciałbym prosić jeszcze o ocenę kodu i sugestie co powinienem poprawić byle bez wychodzenia poza zakres dotychczasowej wiedzy.
program baza_uczniowie;
type
uczen = record
imie:string;
nazwisko:string;
kurs:string;
end;
tab = array[0..4] of uczen;
var
tab_uczniowie:tab;
opcja, indeks:integer;
// Procedury do obslugi bazy uczniow
procedure dodaj_uczen(osoba:uczen);
begin
write('Podaj imie: ');
readln(osoba.imie);
write('Podaj nazwisko: ');
readln(osoba.nazwisko);
write('Podaj kurs: ');
readln(osoba.kurs);
end;
procedure wyswietl_uczen(osoba:uczen);
begin
writeln(osoba.imie, ' ', osoba.nazwisko, ' (kurs: ', osoba.kurs, ')');
end;
procedure wyswietl_wszystkich(var tab_uczniowie:tab);
var i:integer;
begin
for i:=0 to ??? do
begin
writeln(i+1, '. ', tab_uczniowie[i].imie, ' ', tab_uczniowie[i].nazwisko, ' (kurs: ', tab_uczniowie[i].kurs, ')');
end;
end;
// Program glowny
begin
repeat
writeln('Wybierz opcje:');
writeln('1 - dodaj ucznia');
writeln('2 - pokaz ucznia o indeksie');
writeln('3 - pokaz wszystkich uczniow');
writeln('4 - zakoncz program');
case opcja of
1:
begin
dodaj_uczen(tab_uczniowie[???]);
end;
2:
begin
write('Podaj indeks: ');
readln(indeks);
wyswietl_uczen(tab_uczniowie[indeks]);
end;
3:
begin
write('Wszyscy uczniowie:');
wyswietl_wszystkich(tab_uczniowie[i]);
end;
end;
until opcja = 4;
end.