Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.53 KB | None | 0 0
  1. PROGRAM cityResidents;
  2.  
  3. USES
  4. Crt;
  5.  
  6. CONST
  7. userMax = 10;
  8.  
  9. TYPE
  10.   typeResident = RECORD
  11.     name, nameNach, strasse, nummer, city: string;
  12.     plz: longint;
  13.     usage: integer;
  14.   END;
  15.   typeResidentArray = ARRAY[1..userMax] OF typeResident;
  16.  
  17.  
  18. VAR
  19.   i,n, userSelection: integer;
  20.   residentArray: typeResidentArray;
  21.   rememberMe: typeResident;
  22.   optionChoice: char;
  23.  
  24. PROCEDURE inputInteger(name: string);
  25.   BEGIN
  26.     write('Eingabe ',name,' = ');
  27.     readln(n);
  28.   END;
  29.  
  30. PROCEDURE inputResidents(VAR userArray: typeResidentArray);
  31.   BEGIN
  32.     clrScr;
  33.     write('Eingabe ');
  34.     FOR i := 1 TO n DO BEGIN
  35.       writeln('<Anwohner ',i,'>');
  36.       writeln;
  37.       write('Name: ');
  38.       readln(userArray[i].name);
  39.       write('Nachname: ');
  40.       readln(userArray[i].nameNach);
  41.       write('Strasse: ');
  42.       readln(userArray[i].strasse);
  43.       write('Hausnummer: ');
  44.       readln(userArray[i].nummer);
  45.       write('Postleitzahl: ');
  46.       readln(userArray[i].plz);
  47.       write('Stadt: ');
  48.       readln(userArray[i].city);
  49.       writeln;
  50.       userArray[i].usage := 1;
  51.     END;
  52.   END;
  53.  
  54.  
  55. PROCEDURE outputResidents(VAR userArray: typeResidentArray);
  56.   BEGIN
  57.     FOR i := 1 TO n DO BEGIN
  58.       gotoXY(1,i+3);
  59.       write(userArray[i].name,' ',userArray[i].nameNach);
  60.       gotoXY(26,i+3);
  61.       write(userArray[i].strasse,' ',userArray[i].nummer);
  62.       gotoXY(52,i+3);
  63.       write(userArray[i].plz,' ',userArray[i].city);
  64.     END;
  65.   END;
  66.  
  67. PROCEDURE outputPreset;
  68.   BEGIN
  69.     gotoXY(1,1);
  70.     write('Name / Nachname');
  71.     gotoXY(26,1);
  72.     write('Strasse / Hausnummer');
  73.     gotoXY(52,1);
  74.     write('PLZ / Stadt');
  75.   END;
  76.  
  77. PROCEDURE gotoInput(inputName: string);
  78.   BEGIN
  79.     gotoXY(1,24);
  80.     writeln(inputName);
  81.     write('> ');
  82.   END;
  83.  
  84. PROCEDURE selectResidentPlace(userArray: typeResidentArray);
  85.   BEGIN
  86.     gotoInput('Einwohner hinzufügen an letzter Stelle? Y | N');
  87.     REPEAT optionChoice := upcase(readKey) UNTIL optionChoice IN ['Y','N'];
  88.     IF optionChoice = 'Y' THEN
  89.       FOR i := 1 TO n DO BEGIN
  90.         IF userArray[i].usage = 0 THEN
  91.  
  92.  
  93. { CHECK FOR LAST USED ARRAY }
  94.  
  95.  
  96.   END;
  97.  
  98. PROCEDURE selectResident(userArray: typeResidentArray);
  99.   BEGIN
  100.     IF userArray[i].usage = 0 THEN
  101.       write('Keine Einwohner verfügbar')
  102.     ELSE BEGIN
  103.       write('Verfuegbare Einwohner: ');
  104.       FOR i := 1 TO n DO
  105.         IF userArray[i].usage = 1 THEN
  106.           write(i,'(',userArray[i].nameNach,'), ');
  107.       gotoInput('Auswahl Benutzer');
  108.       readln(userSelection);
  109.     END;
  110.   END;
  111.  
  112. PROCEDURE addResident(userArray: typeResidentArray);
  113.   BEGIN
  114.     selectResidentPlace(userArray);
  115.   END;
  116.  
  117. PROCEDURE removeResident(userArray: typeResidentArray);
  118.   BEGIN
  119.     selectResident(userArray);
  120.   END;
  121.  
  122. PROCEDURE editResident(userArray: typeResidentArray);
  123.   BEGIN
  124.     selectResident(userArray);
  125.   END;
  126.  
  127. PROCEDURE switchResident(userArray: typeResidentArray);
  128.   BEGIN
  129.     selectResident(userArray);
  130.   END;
  131.  
  132. PROCEDURE Options;
  133.   BEGIN
  134.     writeln;
  135.     gotoInput('A Add | R Remove | E Edit | S Switch | X Close');
  136.     REPEAT optionChoice := upcase(readKey) UNTIL optionChoice IN ['A','R','E','S','X'];
  137.     CASE optionChoice OF
  138.       'A': addResident(residentArray);
  139.       'R': removeResident(residentArray);
  140.       'E': editResident(residentArray);
  141.       'S': switchResident(residentArray);
  142.     END;
  143.   END;
  144.  
  145. BEGIN
  146.  
  147. clrScr;
  148.  
  149. inputInteger('Einwohnerzahl');
  150.  
  151. clrScr;
  152.  
  153. inputResidents(residentArray);
  154. readln;
  155.  
  156. clrScr;
  157.  
  158. outputPreset;
  159. outputResidents(residentArray);
  160. Options;
  161.  
  162. END.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement