/*
 * "Grundkurs Programmieren in Java - Band 1 (4. Auflage, 2007)"
 * 2001-2007, Carl Hanser Verlag
 * Loesungsvorschlag zu Aufgabe 6.6 (Version 4.0)
 * (c) 2001-2007 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger
 *
 * AdressBuch_v3 ohne innere Klassen
 * Diese Klasse benoetigt noch die Datei 'Adresse.java'
 *
 */

import Prog1Tools.IOTools;

public class AdressBuch_v3b {

  // das eigentliche Hauptprogramm
  public static void main(String[] args) {
    // Benoetigte Variablen
    Adresse[] adressen= new Adresse[20];
    Adresse adr;
    boolean fertig=false;
    // Initialisiere das Feld
    for (int i=0;i<20;i++)
      adressen[i]=new Adresse();
    adr=adressen[0];
    // Starte das Programm mit eines huebschen Ausgabe
    System.out.println("================");
    System.out.println("Adressverwaltung");
    System.out.println("================");
    // Schleifenbeginn
    while (!fertig) {
      // Menue
      System.out.println(" ");
      System.out.println("1 = Adresseingabe"             );
      System.out.println("2 = Adressausgabe"             );
      System.out.println("3 = aktuelle Adresse wechseln" );
      System.out.println("4 = Programm beenden"          );
      int auswahl=IOTools.readInteger("Ihre Wahl:");
      // Fallunterscheidung
      switch(auswahl) {
        case 1: // Adresse eingeben
          adr.name        =IOTools.readLine   ("Name      : ");
          adr.strasse     =IOTools.readLine   ("Strasse   : ");
          adr.hausnummer  =IOTools.readInteger("Hausnummer: ");
          adr.wohnort     =IOTools.readLine   ("Wohnort   : ");
          adr.postleitzahl=IOTools.readInteger("PLZ       : ");
          adr.mail        =IOTools.readLine   ("E-Mail    : ");
          adr.kommentar   =IOTools.readLine   ("Kommentar : ");
          break;
        case 2: // Adresse ausgeben
          System.out.println(adr.name                         );
          System.out.println(adr.strasse+" "+adr.hausnummer   );
          System.out.println(adr.postleitzahl+" "+adr.wohnort );
          System.out.println("E-Mail: "+adr.mail              );
          System.out.println("KOMMENTAR: "+adr.kommentar      );
          break;
        case 3: // Adresse wechseln
          int n=IOTools.readInteger("Neue Adressennummer "
                                    +"(zwischen 0 und 19):");
          adr=adressen[n];
          break;
        case  4: // Programm beenden
          fertig=true;
          break;
        default: // Falsche Zahl eingegeben
          System.out.println("Eingabefehler!");
      }
    } // Schleifenende

  } // Ende des Hauptprogramms


} // Ende des Programms
    
