Zdravím
Tvořím domácí úkol, kde mám vytvořit jakousi kartotéku, kde budou uchovány data datového typu String a Integer a protože se úkol váže k výuce Recordu, používám právě ten. Zbytek se ale točím dokola a netuším jak na to.
Zadání zní: Vytvořte kartotéku o maximálním počtu 30 záznamů. Evidujte Jméno, Příjmení, Věk, Počet dětí a Plat.
Udělal jsem si proceduru na zadávání údajů a proceduru na vypisování. Dále jsem si udělal matici o šesti sloupcích a 30 řádcích. A teď se pokouším nějak zapsat z procedury zadání dat do jednotlivých polí matice.
Níže zasílám doposud udělaný kód, ať o nevypadá, že mám něco řešit a hned se ptám na pomoc. Bohužel, tohle je již asi třetí verze, jak se to pokouším dělat, pořád jen přepisuji a pravděpodobně je tam těch blbostí více. Berte to prosím s nadhledem, ale nikdy jsem k tomu neinklinoval a ve čtyřiceti jsem dostal na stůl skripta, 3 hodiny se vysvětlovalo jak se v pascalu programuje a zbytek je na mě, takže tohle třeba student SS dává levou zadní :o).
{Vytvořte kartotéku zaměstnanců o maximálním počtu 30 záznamů. O každém
zaměstnanci evidujte:
Příjmení
Jméno
Věk
Počet dětí
Měsíční plat}
Program Kartoteka_zamestnancu;
Uses Crt;
Type Zamestnanci = Record
Jmeno, Prijmeni: String;
Vek, Deti, Plat: Integer;
End;
Var databaze : Array [1..6,1..30] Of Zamestnanci;
pocitadlo, pocitadlo2 : Integer;
{== Procedura na zadani dat ===================================================}
Procedure Data_Zadej;
Begin
Write ('Zadejte Jmeno zamestnance: ');
Readln (databaze [1,pocitadlo] := Zamestnanci.Jmeno);
Write ('Zadejte Prijmeni zamestnance: ');
Readln (databaze [2,pocitadlo] := Zamestnanci.Prijmeni);
Write ('Zadejte Vek zamestnance: ');
Readln (databaze [3,pocitadlo] := Zamestnanci.Vek);
Write ('Zadejte Pocet deti zamestnance: ');
Readln (databaze [4,pocitadlo] := Zamestnanci.Deti);
Write ('Zadejte Plat zamestnance: ');
Readln (databaze [5,pocitadlo] := Zamestnanci.Plat);
End;
{== Konec procedury ===========================================================}
{== Procedura na vypsani dat ==================================================}
{
Procedure Data_Vypis;
Begin
WriteLn (Zamestnanci[pocitadlo2].Jmeno:20,' ',Zamestnanci[pocitadlo2].Prijmeni:20,' ',Zamestnanci[pocitadlo2].Vek:2,' ',Zamestnanci[pocitadlo2].Deti:1,' ',Zamestnanci[pocitadlo2].Plat:6);
End;
}
{== Konec procedury ===========================================================}
Begin
pocitadlo := 1;
Write ('Zadavate noveho zamestnance. Zadavani ukoncite stisknutim znaku *');
Repeat
If pocitadlo < 30 Then
Begin
Data_Zadej;
End;
Pocitadlo := Pocitadlo + 1;
Until <> '*';
For Pocitadlo2 := 1 To 30 Do
Begin
WriteLn ('V kartotece jsou tyto zaznamy: ');
Data_vypis;
End;
End.