Navigace: Hlavní stránka -> PASCAL -> 11 Záznamy ->11.02 Práce s typovým polem

MENU

11.02 Práce s typovým polem

Zadání:
Sestavte program, který načte z textového souboru seznam obyvatel, uloží ho do typového pole, data vytiskne a uloží do typového souboru.
Řešení:
Program využívá všech předchozích kapitol a programů, pokuste se sami vypracovat vývojový diagram a zjistit,
jakým způsobem program pracuje.
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type clovek=record
               jmeno,prijmeni: string[20];
               vek: byte;
            end;

var obyvatele:array[1..1000] of clovek;
    s:string;
    f:text;
    g:file of clovek;
    pozice,i,pocet:integer;

begin

   assign(f,'obyvatele.txt');
   reset(f);

   pozice:=1;
   pocet:=0;
   repeat
      pocet:=pocet+1;
      readln(f,s);
      obyvatele[pozice].jmeno:=copy(s,1,pos(' ',s)-1);
      delete(s,1,pos(' ',s));
      obyvatele[pozice].prijmeni:=copy(s,1,pos(' ',s)-1);
      delete(s,1,pos(' ',s));
      obyvatele[pozice].vek:=0;
      for i:=1 to length(s) do
         obyvatele[pozice].vek:=obyvatele[pozice].vek*10+(ord(s[i])-ord('0'));
      pozice:=pozice+1;
   until eof(f);

   close(f);

   writeln('Prijmeni':20,'Jmeno':15,'Vek':5);
   for i:=1 to pocet do
      writeln(obyvatele[i].prijmeni:20,obyvatele[i].jmeno:15,obyvatele[i].vek:5);

   assign(g,'obyvatele.dat');
   rewrite(g);
   for i:=1 to pocet do
      write(g,obyvatele[i]);

   close(g);

   readln;

end.
program ke stažení