C# switch / case: default-Wert wird nicht angesteuert
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
abfrage
abfragen
abheben
ausgabe
bargeld
betrag
break
code
datum
eingabe
euro
garnichts
kontostand
nahrungskette
operator
schein
string
switch
system
wert design
-
EDIT: Ich bin auch schön blöd. Ich hatte einfach vergessen die Ausgabe für default entsprechend im Ausgabeteil ordentlich festzulegen, daher kam ich scheinbar durcheinander. Jetzt habe ich einen bool-Wert erstellt, ihn bei default auf true gesetzt und in der Ausgabe abgefragt ob er true ist. Wenn er true ist, gibt er den Fehler aus, wenn nicht kommen die üblichen Abfragen mit Ausgaben...
Ich bin nicht Guldengeil, daher kann diese Frage geschlossen und die 5 Gulden mir abgezogen werden :)
Sorry!
Original-Frage:
Guten Abend :) ^^
Ich lerne seit circa einem Monat schulisch C# und unsere Hausaufgabe ist es, ein Banksystem mit gewissen Teilfunktionen zu programmieren. Nun habe ich eine switch-case-Abfrage genommen und als default-Wert eine Ausgabe gemacht (Sie müssen K, B oder H eingeben). Gebe ich aber was anderes als K, B oder H ein, so gibt er nicht den default-Wert, sondern einfach garnichts aus. Ich freue mich sehr über jegliche Hilfe, vergesst aber nicht das ich ganz am Ende der Nahrungskette stehe und im Grunde rein garnichts weiß :D
Grüße,
Lukas
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Bankautomat { class Program { static void Main(string[] args) { /********************************************* Titel: Teilfunktionen eines Bankautomates Funktion: Zeigt den Kontostand an, zahlt Bargeld aus und lädt das Handy auf Autor: Lukas Stenner Version: 0.1 Datum: 29.10.2013 ********************************************/ /* Variablen */ int Kontostand; float Bargeld; int Handy; int Ausgabe; string Abfrage; string AbfrageEu; string Operator; string Ausgabe2; /* Variablendeklaration */ Kontostand = 743; Ausgabe = 0; AbfrageEu = "0.0"; Handy = 0; Ausgabe2 = "Kein Wert"; /* Design */ Console.WriteLine("________________________________________"); Console.WriteLine("| |"); Console.WriteLine("| ___ |"); Console.WriteLine("| | \\ /\\ |\\ | | / |"); Console.WriteLine("| |__/ /__\\ | \\ | |/ |"); Console.WriteLine("| | \\ / \\ | \\ | |\\ |"); Console.WriteLine("| |__/ / \\ | \\| | \\ |"); Console.WriteLine("|_______________________________________|"); Console.WriteLine(); /* Eingabe */ Console.WriteLine("Bitte geben Sie 'K' ein, um Ihren Kontostand einzusehen. \nBitte geben Sie 'B' ein, um Bargeld abzuheben. \nBitte geben Sie 'H' ein, um Ihr Handy aufzuladen."); Console.WriteLine(); Console.WriteLine(); Console.Write("Ihre Eingabe: "); Abfrage = (Console.ReadLine()); /* Verarbeitungsteil */ switch (Abfrage) { case "K": Ausgabe = Kontostand; break; case "k": Ausgabe = Kontostand; break; case "b": goto case "B"; break; case "B": Console.WriteLine(); Console.WriteLine("Bitte geben Sie einen Betrag ein, den Sie abheben möchten.\nSie können sich nur 10 Euro, 20 Euro, 50 Euro, 100 Euro, 200 Euro oder 500 Euro \nauf einmal auszahlen lassen."); Console.WriteLine(); Console.Write("Betrag in Euro: "); AbfrageEu = (Console.ReadLine()); switch (AbfrageEu) { case "10": Ausgabe2 = "Ihnen wird ein 10-Euro Schein ausgezahlt."; break; case "20": Ausgabe2 = "Ihnen wird ein 10-Euro Schein und zwei 5-Euro Scheine ausgezahlt."; break; case "50": Ausgabe2 = "Ihnen werden zwei 20-Euro Scheine und zwei 5-Euro Scheine ausgezahlt."; break; case "100": Ausgabe2 = "Ihnen werden ein 50-Euro Schein, zwei 20-Euro Scheine und ein 10-Euro Schein ausgezahlt."; break; case "200": Ausgabe2 = "Ihnen werden ein 100-Euro Schein und zwei 50-Euro Scheine ausgezahlt."; break; case "500": Ausgabe2 = "Ihnen werden zwei 200-Euro Scheine und zwei 50-Euro Scheine ausgezahlt."; break; default: Ausgabe2 = "Sie können sich nur 10 Euro, 20 Euro, 50 Euro, 100 Euro, 200 Euro oder 500 Euro \nauszahlen lassen."; break; } break; case "h": goto case "H"; break; case "H": Console.WriteLine("Bitte geben Sie den Betrag ein, den Sie auf Ihr Handy laden möchten."); Console.Write("Betrag in Euro: "); Handy = Convert.ToInt32(Console.ReadLine()); Ausgabe = Kontostand - Handy; break; default: Ausgabe2 = "Sie müssen K, B oder H eingeben"; break; } /* Ausgabeteil */ Console.WriteLine(); Console.WriteLine(); switch (Abfrage) { case "h": Console.WriteLine(Ausgabe); break; case "H": goto case "h"; break; case "k": Console.Write("Ihr Kontostand: "); Console.Write(Ausgabe); Console.WriteLine(" Euro"); break; case "K": goto case "k"; break; case "b": Console.WriteLine(Ausgabe2); break; case "B": goto case "b"; break; } Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); } } }
Beitrag zuletzt geändert: 29.10.2013 15:19:08 von schinkenmedia -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage