Hallo,
bin im Moment dabei für die Uni ein Programm zu schreiben, das eine Bestellung durchführen soll. Dabei habe ich ausführlichst mit dem switch-Befehl gearbeitet. Innerhalb der switche werden die Variablen eingegeben und sollen am Ende nochmal alle gemeinsam ausgegeben werden. Diese Variablen lassen sich aber irgendwie nur in dem Switch benutzen, die Ausgabe am Ende scheitert jedoch, da Visual Studio behauptet die Variable wäre nicht zugewiesen. Hier mal das Programm in all seiner "Pracht".
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Übung2
{
class Program
{
static void Main(string[] args)
{
string auswahl, stueck;
int zahls, zahl20cm, zahl30cm, zahl40cm, zahlv, zahlk;
Hauptprogramm:
Console.WriteLine("Bestellungen aufgeben. Sie haben folgende Möglichkeiten:");
Console.WriteLine(" <S>chrauben");
Console.WriteLine(" <F>lansche");
Console.WriteLine(" <M>uttern");
Console.WriteLine(" <D>ichtungen");
Console.WriteLine(" <B>estellvorgang beenden und Programm verlassen");
Console.Write("Ihre Auswahl: ");
auswahl = Console.ReadLine();
switch (auswahl)
{
case "S":
Console.WriteLine("Anzahl der benötigten Schrauben eingeben (1-1000 Stück)");
stueck = Console.ReadLine();
zahls = Int32.Parse(stueck);
goto Hauptprogramm;
case "F":
Flansche:
Console.WriteLine("Auswahl des Durchmessers");
Console.WriteLine(" (A) 20 cm (B) 30 cm (C) 40 cm oder <V>erlassen");
auswahl = Console.ReadLine();
switch (auswahl)
{
case "A":
Console.Write("Zahl der benötigten 20 cm Flansche eingeben: ");
stueck = Console.ReadLine();
zahl20cm = Int32.Parse(stueck);
goto Flansche;
case "B":
Console.Write("Zahl der benötigten 30 cm Flansche eingeben: ");
stueck = Console.ReadLine();
zahl30cm = Int32.Parse(stueck);
goto Flansche;
case "C":
Console.Write("Zahl der benötigten 40 cm Flansche eingeben: ");
stueck = Console.ReadLine();
zahl40cm = Int32.Parse(stueck);
goto Flansche;
case "V": goto Hauptprogramm;
default:
Console.WriteLine("Ungültige Eingabe! Bitte wiederholen.");
goto Flansche;
}
case "M":
Muttern:
Console.WriteLine("Auswahl der benötigten Muttern. <V>ierkant, <K>ronenmuttern oder <B>eenden");
auswahl = Console.ReadLine();
switch (auswahl)
{
case "V":
Console.Write("Zahl der Vierkant-Muttern eingeben: ");
stueck = Console.ReadLine();
zahlv = Int32.Parse(stueck);
goto Muttern;
case "K":
Console.Write("Zahl der Kronen-Muttern eingeben: ");
stueck = Console.ReadLine();
zahlk = Int32.Parse(stueck);
goto Muttern;
case "B":
goto Hauptprogramm;
}
break;
case "D":
Console.WriteLine("Dicke der benötigten Dichtung"); break;
case "B":
Console.WriteLine("Ihre Bestellung im Überblick");
Console.WriteLine(zahls + " Schrauben");
Console.WriteLine(zahl20cm + " 20 cm Flansche");
Console.WriteLine(zahl30cm + " 30 cm Flansche");
Console.WriteLine(zahl40cm + " 40 cm Flansche");
Console.WriteLine(zahlv + " Vierkant-Muttern");
Console.WriteLine(zahlk + " Kronen-Muttern");
Console.WriteLine("Vielen Dank für Ihre Bestellung, ihre Lieferung ist in Kürze abholbereit."); break;
default: Console.WriteLine("Ungültige Eingabe");
goto Hauptprogramm;
}
}
}
}
Alles anzeigen
Und wenn mir jemand nochmal sagen kann, wie man ne Texteingabe etwas eleganter in eine int umwandeln kann wäre ich auch dankbar (gab da irgendeinen Befehl, weiß aber nicht mehr wie der lautet... ) Aber Hauptproblem sind die Variablen.
Viele Grüße!