home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 01 / eingabe.inc < prev    next >
Encoding:
Text File  |  1986-11-25  |  2.9 KB  |  72 lines

  1. (*--------------------------------------------------------------------------*)
  2. (*                        Modul:  eingabe.inc                               *)
  3. (*--------------------------------------------------------------------------*)
  4. (*      Ermoeglicht die Eingabe aller Werte, die fuer eine Berechnung des
  5.         Traegers Bedeutung haben. Die Bemessungs - Routinen haben eigene
  6.         Eingabe - Prozeduren.                                               *)
  7.  
  8. PROCEDURE Eingabe;
  9.  
  10.   VAR i : INTEGER;         (* Zaehler fuer die Lasteingabe : (1..i..Anzahl) *)
  11.  
  12.   (*------------------------------------------------------------------------*)
  13.   (*   Loescht die Eingabezeile am unteren Bildschirmrand. Diese Prozedur
  14.        kann entfallen, falls das Betriebssystem Ihres Rechners die Funktion
  15.        'CLREOL' ermoeglicht.                                                *)
  16.  
  17.   PROCEDURE NeueZeile;
  18.  
  19.     BEGIN
  20.       GOTOXY (1,23);
  21.       WRITE ('                                                             ');
  22.       GOTOXY (1,23);
  23.     END; (* neuezeile *)
  24.  
  25.  
  26.   BEGIN (* Eingabe *)
  27.     CLRSCR;
  28.     GOTOXY (1,23);
  29.     WRITE ('Feldlaenge (m) : ');
  30.     READLN (Feldlaenge);
  31.     CLRSCR;
  32.     WRITELN ('Programm EINFELDTRAEGER    Feldlaenge = ',Feldlaenge:5:2,' m');
  33.     WRITELN (' Nr.  x li    dx      q li       q re        P');
  34.     WRITELN ('       (m)   (m)     (kN/m)     (kN/m)      (kN)');
  35.     REPEAT
  36.       NeueZeile;
  37.       WRITE ('Anzahl der Lasten (max=18) : ');
  38.       READLN (Anzahl);
  39.     UNTIL Anzahl <= MaxAnzahl;
  40.     FOR i:=1 TO Anzahl DO BEGIN                      (* Eingabe aller Lasten *)
  41.       REPEAT
  42.         NeueZeile;
  43.         WRITE ('x li (m) : ');
  44.         READLN (Last[i].Ort);                               (* Anfangsstelle *)
  45.         NeueZeile;
  46.         WRITE ('dx (m) : ');
  47.         READLN (Last[i].Laenge);               (* wenn Null, dann Einzellast *)
  48.       UNTIL Last[i].Ort + Last[i].Laenge <= Feldlaenge; (* Last unzulaessig? *)
  49.       NeueZeile;
  50.       IF Last[i].Laenge = 0 THEN BEGIN       (* es liegt eine Einzellast vor *)
  51.         WRITE ('Einzellast (kN) : ');
  52.         READLN (Last[i].Links);
  53.       END (* if *)
  54.       ELSE BEGIN                           (* es liegt eine Streckenlast vor *)
  55.         WRITE ('Last links (kN/m) : ');
  56.         READLN (Last[i].Links);
  57.         NeueZeile;
  58.         WRITE ('Last rechts (kN/m) : ');
  59.         READLN (Last[i].Rechts);
  60.       END; (* else *)
  61.       GOTOXY (1,4+i);                    (* schreibe Lastgroessen in Tabelle *)
  62.       WRITE (i:3,Last[i].Ort:7:2,'  ');
  63.       IF Last[i].Laenge = 0 THEN                               (* Einzellast *)
  64.        WRITELN ('                             ',Last[i].Links:9:3)
  65.       ELSE                                                   (* Streckenlast *)
  66.        WRITELN (Last[i].Laenge:5:2,Last[i].Links:9:3,'  ',Last[i].Rechts:9:3);
  67.       NeueZeile;
  68.       WRITE ('> > > BERECHNUNG < < <');
  69.     END; (* for *)
  70.   END; (* eingabe *)
  71.  
  72.