Оглавление Программа: Записи (record). Пример 1.


Задача.

Пусть стpока записной книжки в качестве общей части содеpжит фамилию и номеp телефона. Ваpиантная часть содеpжит либо дату pождения, либо название оpганизации и должность, либо адpес. Составить пpогpамму, котоpая обеспечивает ввод нескольких записей, а затем выводит содеpжимое этих записей на экpан дисплея.
г=[¦]======================== SENT2008\ZAPIS1.PAS
¦PROGRAM ZKN_;
¦TYPE STROKA=RECORD
¦  FIO:string[20];
¦  TEL:string[10];
¦  B:CHAR;
¦    CASE V:CHAR OF
¦    'P':(D:1..31; M:1..12);
¦    'C':(F:string[25]; DOL:string[15]);
¦    'A':(ADR:string[30])
¦    END;
¦
¦VAR ZAPKN:ARRAY [1..100] OF STROKA;
¦    ZKN:STROKA;
¦    N,K:INTEGER;
¦BEGIN WRITE('INPUT N -> '); READLN(N);
¦  FOR K:=1 TO N DO
¦    BEGIN WITH ZKN DO
¦      BEGIN
¦        WRITE('INPUT FIO -> '); READLN(FIO);
¦        WRITE('INPUT TEL -> '); READLN(TEL);
¦        WRITE('INPUT   B -> ');   READLN(B);
L====== 15:53 ====<¦-------- Продолжение: --------------------
          CASE B OF
           'P':BEGIN WRITE('INPUT   D,M -> ');   READLN(D,M)   END;
           'C':BEGIN WRITE('INPUT F,DOL -> '); READLN(F,DOL) END;
           'A':BEGIN WRITE('INPUT   ADR -> ');   READLN(ADR)   END
          END
      END;
      ZAPKN[K]:=ZKN
    END;
    FOR K:=1 TO N DO
      BEGIN
        ZKN:=ZAPKN[K];
        WRITE(ZKN.FIO:20,ZKN.TEL:10,'   ');
          CASE ZKN.B OF
          'P':WRITELN(ZKN.D:2,ZKN.M:3);
          'C':WRITELN(ZKN.F,ZKN.DOL);
          'A':WRITELN(ZKN.ADR)
          END
      END
END.
====== 15:53 ====

---- Результат работы: ------
INPUT N -> 4
INPUT FIO -> Ivanoff
INPUT TEL -> 234-67-34
INPUT   B -> P
INPUT   D,M -> 26 10
INPUT FIO -> Petroff
INPUT TEL -> 356-17-34
INPUT   B -> C
INPUT F,DOL -> Roga и Kopiita Predsedatel
INPUT FIO -> Sidorovv
INPUT TEL -> 456-23-56
INPUT   B -> A
INPUT   ADR -> vul Shaumiana,45 kv 23
INPUT FIO -> Sidorelli
INPUT TEL -> 657-23-88
INPUT   B -> A
INPUT   ADR -> vul Hyppodromna,53, kv121
             Ivanoff 234-67-34   26 10
             Petroff 356-17-34   Roga и Kopiita Predsedatel
            Sidorovv 456-23-56   vul Shaumiana,45 kv 23
           Sidorelli 657-23-88   vul Hyppodromna,53, kv121
--------------------------
Rambler's Top100
Hosted by uCoz