public class a46 { //Bankkontoprogramm Teil 2. jetzt mit Array von Bankkonten
	
	//Konto referenzieren
	static a46BankKonto []konto=new a46BankKonto[1000];
	
	static int aktuellesKonto=-1;
	static int kontoNummernZaehler=0;
	
	public static void main (String[]a){
	int m;
	boolean ende=false;
	
		//Menue
		do{ 
			ende=false;
			
			if (aktuellesKonto<0){
			switch (m=Mylib.ganzeZahlLesen("Kontoverwaltung (noch kein aktuelles Konto gewaehlt)\n"
					+"\n1: neues Konto eroeffnen"
					+"\n2: aktuelles Konto waehlen"
					+"\n3: Programm beenden"
					+"\n\nIhre Wahl?",1,3)){
						case 1: kontoEroeffnen(); break;
						case 2: kontoWaehlen(); break;
						case 3: ende=true; break;
					}
				}
			else{
			switch (m=Mylib.ganzeZahlLesen("Kontoverwaltung fuer Konto "+(aktuellesKonto+1)+"  ("+konto[aktuellesKonto].vorUndNachname()+")\n"
					+"\n1: neues Konto eroeffnen"
					+"\n2: aktuelles Konto wechseln"
					+"\n3: Kontostand anzeigen"
					+"\n4: Einzahlung"
					+"\n5: Auszahlen"
					+"\n6: Programm beenden"
					+"\n\nIhre Wahl?",1,6)){
						case 1: kontoEroeffnen(); break;
						case 2: kontoWaehlen(); break;
						case 3: getSaldo(); break;
						case 4: einzahlen(); break;
						case 5: auszahlen(); break;
						case 6: ende=true; break;
					}
			}
				
			}
			while (!ende || !Mylib.jaNein("\nWirklich beenden?"));
	}
	
	public static void getSaldo(){
		System.out.println("\n**** Kontostand ****");
		float kontostand=konto[aktuellesKonto].getSaldo();
		System.out.println("Ihr Kontostand betraegt "+kontostand+" Einheiten\n");
	}
	
	public static void einzahlen(){
		System.out.println("\n**** Einzahlung ****");
		float einzahlBetrag=(float)Mylib.zahlLesen("Wieviel Einheiten moechten Sie einzahlen?");
		konto[aktuellesKonto].einzahlen(einzahlBetrag);
		System.out.println("Der Betrag wurde auf Ihr Konto einbezahlt.\n");
		}
		
	public static void auszahlen(){
		System.out.println("\n**** Auszahlung ****");
		float auszahlBetrag=(float)Mylib.zahlLesen("Wieviel Einheiten möchten Sie sich auszahlen lassen?");
		float tatsaeachlicherauszahlBetrag=konto[aktuellesKonto].auszahlen(auszahlBetrag);
		System.out.println(""+tatsaeachlicherauszahlBetrag+" Einheiten wurden ausbezahlt.\n");
		}
		
	public static void kontoEroeffnen(){
		System.out.println("\n**** Kontoeroeffnung ****");
		String vorname=Mylib.textLesen("Vornamen des Kontobesitzers");
		String nachname=Mylib.textLesen("Nachname des Kontobesitzers");
		konto[kontoNummernZaehler]=new a46BankKonto((kontoNummernZaehler+1),vorname, nachname);
		System.out.println("Konto Nummer: "+(kontoNummernZaehler+1)+" fuer "+vorname+" "+nachname+" ist eroeffnet\n");
		aktuellesKonto=kontoNummernZaehler;
		kontoNummernZaehler++;
		}

	public static void kontoWaehlen(){
		if (kontoNummernZaehler==0) System.out.println("\nEs wurde noch kein Konto eroeffnet.\n");
		else{
			System.out.println("\n**** aktuelles Konto waehlen ****");
			aktuellesKonto=Mylib.ganzeZahlLesen("Welches Konto soll bearbeitet werden?", 1, kontoNummernZaehler)-1;
			System.out.println("");
			}
		}


}