Laden...
Elmini08
myCSharp.de - Member
2
Themen
26
Beiträge
Letzte Aktivität
vor 9 Monaten
Dabei seit
15.05.2024
Beruf
Auszubildender Fachinformatiker für Systemintegration
Firma
Bisping & Bisping GmbH & Co. KG
Herkunft
Deutschland
Interessen
Zocken, Programmieren, Schwimmen, Feuerwehr...
Website
Erstellt vor 10 Monaten
            //Bier ausgabe
            {
                //Ihre Auswahl Zeile
                {
                    Console.WriteLine();
                    Console.WriteLine("Ihre Auswahl:");
                    Console.WriteLine();
                }

                //Ausgabe der Biersorten
                do
                {
                    for (iIndex = 0; iIndex < sGewählteBiere.Length; iIndex++)
                    {
                        if (sGewählteBiere[iIndex] == lBiersorten[iWelcheBiersorte])
                        {
                            lAnzahlBiersorten[iWelcheBiersorte]++;
                        }
                    }
                    iIndexBiersorten++;
                    iWelcheBiersorte++;
                }
                while (iIndexBiersorten != iVerfügbareBiersorten);

                for (iIndex = 0; iIndex < iVerfügbareBiersorten; iIndex++)
                {
                    if (lAnzahlBiersorten[iIndex] > 0)
                    {
                        Console.WriteLine(lAnzahlBiersorten[iIndex] + "x " + lBiersorten[iIndex]);
                    }
                }

                //Verabschiedung
                {
                    Console.WriteLine();
                    Console.WriteLine("wird ausgegeben!");
                    Console.WriteLine("Mhhhh so ein Lecker Bierchen ist schon was schönes! PROST!");
                    return;
                }
            }
        }   
    }
}
Erstellt vor 10 Monaten

            {
            //Bezahlung 
            Console.WriteLine("Preis deiner Gesamten Auswahl: {0:f} EUR", dEndpreis);
            do
            {
                //User gibt falschen Wert ein
                do
                {
                    Console.WriteLine("Bitte wirf das Geld ein:");
                    Console.WriteLine();

                    //gibt keine Zahl ein (z.B Buchstabe, oder enter etc...
                    if (!double.TryParse(Console.ReadLine(), out dGeldeinwurf))
                    {
                        Console.WriteLine("Der eingegebene Wert musss eine Zahl sein!");
                        dGeldeinwurfIstkeineZahl = true;
                    }

                    //gibt negative Zahl ein
                    else if (dGeldeinwurf < 0)
                    {
                        Console.WriteLine("Der eingegebene Wert muss positiv sein!");
                        dGeldeinwurfIstkeineZahl = true;
                    }

                    //gibt richtig ein
                    else
                    {
                        dGeldeinwurfIstkeineZahl = false;
                    }
                }
                while (dGeldeinwurfIstkeineZahl);

                //dDifference weil double im Arbeitsspeicher 0,000000...000001 abgelegt wird --> ist nicht gleich 0
                double dDifference = Math.Abs(dEndpreis - dGeldeinwurf);

                if (dDifference < 0.001)
                {
                    Console.WriteLine();
                    Console.WriteLine("Passend bezahlt.");
                    bAbgeschlossen = true;			    
                }

                //zu viel bezahlt
                else if (dEndpreis < dGeldeinwurf)
                {
                    double dRückgeld = dGeldeinwurf - dEndpreis;
                    Console.WriteLine("{0:f} EUR bezahlt. {1:f} EUR zurück.", dGeldeinwurf, dRückgeld);
                    bAbgeschlossen = true;
                }

                //zu wenig gezahlt
                else
                {
                    dEndpreis -= dGeldeinwurf;
                    Console.WriteLine();
                    Console.WriteLine("{0:f} EUR bezahlt. {1:f} EUR noch zu zahlen.", dGeldeinwurf, dEndpreis);
                    Console.WriteLine();
                }

            }
            while (!bAbgeschlossen);
            }
Erstellt vor 10 Monaten

            Console.WriteLine("Willkommen beim Lecker Bierchen Automat!");
            Console.WriteLine();

            //Ausgabe der wählbaren Biersorten
            Console.WriteLine("Es gibt folgende Biersorten zur Auswahl:");

            for (iIndexVonListe = 0; iIndexVonListe < iVerfügbareBiersorten; iIndexVonListe++)
            {
                Console.WriteLine(lNummern[iIndexVonListe] + lBiersorten[iIndexVonListe]);
            }

            //Biersorte wählen:
            {
            Console.WriteLine("Sie können Maximal " + sGewählteBiere.Length + " Biere pro Bestellung bestellen.");
            Console.WriteLine();

            //Do/while Schleife falls falsche Nummer gewählt wird
            do
            {
                //Man kann nicht mehr einfach Enter drücken oder einen Buchstaben eingeben. Exeptions werden abgefangen.
                do
                {
                    Console.WriteLine("Wähle deine Biersorte:");
                    Console.WriteLine();

                    //gibt keine Zahl ein (z.B Buchstabe, oder enter etc...
                    if (!Int32.TryParse(Console.ReadLine(), out iBiersortenwahl))
                    {                           
                        Console.WriteLine();
                        Console.WriteLine("Der eingegebene Wert muss eine Zahl sein!");
                        Console.WriteLine();
                        bKeineZahleingegeben = true;
                    }

                    //gibt negative Zahl ein
                    else if (iBiersortenwahl < 0)
                    {
                        Console.WriteLine();
                        Console.WriteLine("Der eingegebene Wert muss positiv sein!");
                        Console.WriteLine();
                        bKeineZahleingegeben = true;
                    }

                    //gibt richtig ein
                    else
                    {
                        bKeineZahleingegeben = false;
                    }
                }
                while (bKeineZahleingegeben);

                Console.WriteLine();
                {
                    if (iBiersortenwahl == 0)
                    {

                        Console.WriteLine("Es werden nun keine weiteren Biere deiner Auswahl hinzugefügt.");
                        bWeitersBier = false;
                    }

                    else if (iBiersortenwahl != 0 | iBiersortenwahl > iVerfügbareBiersorten)
                    {
                        iBiersortenwahl--;

                        if (lAnzahlverfügbarkeitnummern[iBiersortenwahl] <= 0)
                        {
                            Console.WriteLine(lAusgaben[1]);
                            continue;
                        }

                        else if (lAnzahlverfügbarkeitnummern[iBiersortenwahl] <= 5)
                        {
                            Console.WriteLine(lAusgaben[6] + lAnzahlverfügbarkeitnummern[iBiersortenwahl] + lAusgaben[7]);
                            Console.WriteLine();
                        }

                        //Berechnungen 
                        lAnzahlverfügbarkeitnummern[iBiersortenwahl]--;
                        dEndpreis += lPreise[iBiersortenwahl];

                        //Array für Ausgabe der Biere
                        //ArrayZähler für nächste Belegung von Bit von Array
                        sGewählteBiere[iArrayZähler] = lBiersorten[iBiersortenwahl];
                        iArrayZähler += 1;

                        //Ausgabe was bestellt wurde
                        Console.WriteLine(lBiersorten[iBiersortenwahl] + lAusgaben[3] + "{0:f}" + lAusgaben[4] + "{1:f}" + lAusgaben[5], lPreise[iBiersortenwahl], dEndpreis);

                        //Maximal-Bestellwert    
                        if (iArrayZähler == sGewählteBiere.Length)
                        {
                            Console.WriteLine(lAusgaben[2]);
                            bWeitersBier = false;
                        }

                        //Nachfrage ob mehr Bier
                        Console.WriteLine(lAusgaben[0]);
                    }

                    //User drückt den Falschen Key
                    else
                    {
                        Console.WriteLine("Unter diesem Wert ist kein Bier hinterlegt!");
                        Console.WriteLine();
                        Console.WriteLine(lAusgaben[0]);
                    }					
                }
            }
            //While Fußsteuerung
            while (bWeitersBier);
            }
Erstellt vor 10 Monaten
using System;
using System.Collections.Generic;
using System.Threading;

namespace Getränkeautomat
{
    internal class ProgrammGetränkeautomat
    {
        static void Main()
        {
            //Variablen für Bezahlung 			
            bool bAbgeschlossen = false; //bool für (if/else if/else) bei Bezahlung
            double dEndpreis = 0;
            double dGeldeinwurf;
            bool dGeldeinwurfIstkeineZahl; //zum Abfangen der Exeptions		

            //Variable für Biersortenwahl
            int iIndexVonListe;
            int iVerfügbareBiersorten = 8;			
            bool bWeitersBier = true;
            int iBiersortenwahl;
            int iArrayZähler = 0;
            string[] sGewählteBiere = new string[15];
            bool bKeineZahleingegeben; //zum Abfangen der Exeptions

            //Vairablen für Bierausgabe		
            int iWelcheBiersorte = 0;
            int iIndex;
            int iIndexBiersorten = 0;

            //LISTEN
            //LISTEN
            //LISTEN

            //Preise
            List<double> lPreise = new List<double>()
            {
                //index 0
                2.80 ,

                //index 1
                2.60 ,

                //index 2
                3.00 ,

                //index 3
                3.20 ,

                //index 4
                3.00 ,

                //index 5
                3.30 ,

                //index 6
                3.50 ,

                //index 7
                3.10

            };

            //Liste für Biersorten während Cases
            List<string> lBiersorten = new List<string>()
            {
                //index 0
                "Helles Bier ",

                //index 1
                "Pils ",

                //index 2
                "Schwarzbier ",

                //index 3
                "Weizen ",

                //index 4
                "Lagerbier ",

                //index 5
                "Kellerbier ",

                //index 6
                "Bockbier ",

                //index 7
                "Zwickl "
            };

            //Liste für Abfragen während Cases
            List<string> lAusgaben = new List<string>()
            {
                //index 0
                "Möchtest du ein weiters Bier deiner Auswahl hinzufügen? Dann drücke die jeweilige Nummer der gewünschten Biersorte.\nMöchtest du kein weiters Bier drücke Taste <0>.\n",

                //index 1
                "Diese Biersorte ist aktuell nicht verfügbar!\n",

                //index 2
                "Maximal-Bestellwert erreicht. Bitte bezahle jetzt.\n",

                //index 3
                "wurde deiner Aktuellen Auswahl hinzugefügt. \nPreis pro Bier: " ,
                
                //index 4			
                "EUR. \n \nPreis deiner aktuellen Auswahl: ",

                //index 5
                "EUR",

                //index 6
                "Es sind nur noch ",

                //index 7
                " Flaschen dieser Biersorte verfügbar\n"
            };

            //Liste für Variablen während Cases
            List<int> lAnzahlverfügbarkeitnummern = new List<int>()
            {
                //index 0
                8 ,

                //index 1
                9 ,

                //index 2
                6 ,

                //index 3
                0 ,

                //index 4
                0 ,

                //index 5
                0 ,

                //index 6
                0 ,

                //index 7
                0
            };

            List<int> lAnzahlBiersorten = new List<int>()
            {
                //index 0
                0,

                //index 1
                0,

                //index 2
                0,

                //index 3
                0,

                //index 4
                0,

                //index 5
                0,

                //index 6
                0,

                //index 7
                0,

            };

            List<string> lNummern = new List<string>()
            {
                //index 0
                "Nummer 1: ",

                //index 1
                "Nummer 2: ",

                //index 2
                "Nummer 3: ",

                //index 3
                "Nummer 4: ",

                //index 4
                "Nummer 5: ",

                //index 5
                "Nummer 6: ",

                //index 6
                "Nummer 7: ",

                //index 7
                "Nummer 8: "
            };
Erstellt vor 10 Monaten

Vielen Dank für Eure Antworten schonmal! Da mir @Abt privat geschrieben hat ich solle am besten den ganzen Code hier bereitstellen. Kommt hier jetzt über mehrere Nachrichten mein vollständiger Code.

LG 
Elmini08

Erstellt vor 11 Monaten

Hi,

gleich vorab: ich bin absoluter Anfänger mache also auch Anfänger (Denk-)Fehler. Haltet Beispiele und Erklärungen daher auch bitte simpel und einfach verständlich. Ich lerne gerne mit Codebeispielen, da ich Artikel über Funktionen und Operatoren meist nicht verstehe. Bitte antwortet nicht auf diese Frage, wenn ihr mir nicht grundsätzlich bei der Frage helfen wollt. Danke! Ich verwende auch die ungarische Notation, da wir das in der Berufsschule so lernen und dieses Programm nur eine Übung für die Schule ist.

Ich habe in einer anderen Frage in diesem Forum einiges an Feedback bekommen (teilweise hilfreich). Viele fanden meinen Code nicht strukturiert und einfach lesbar. Könnt ihr mir da helfen? Was würdet ihr verändern, dass die verständlichkeit einfacher bleibt.

			//Do/while Schleife falls falsche Nummer gewählt wird
			do
			{
				//Man kann nicht mehr einfach Enter drücken oder einen Buchstaben eingeben. Exeptions werden abgefangen.
				do
				{
					Console.WriteLine("Wähle deine Biersorte:");
					Console.WriteLine();

					//gibt keine Zahl ein (z.B Buchstabe, oder enter etc...
					if (!Int32.TryParse(Console.ReadLine(), out iBiersortenwahl))
					{                           
						Console.WriteLine();
						Console.WriteLine("Der eingegebene Wert muss eine Zahl sein!");
						Console.WriteLine();
						bKeineZahleingegeben = true;
					}

					//gibt negative Zahl ein
					else if (iBiersortenwahl < 0)
					{
                        Console.WriteLine();
                        Console.WriteLine("Der eingegebene Wert muss positiv sein!");
						Console.WriteLine();
						bKeineZahleingegeben = true;
					}

					//gibt richtig ein
					else
					{
						bKeineZahleingegeben = false;
					}
				}
				while (bKeineZahleingegeben);

				Console.WriteLine();
				{
					if (iBiersortenwahl == 0)
					{

						Console.WriteLine("Es werden nun keine weiteren Biere deiner Auswahl hinzugefügt.");
						bWeitersBier = false;
					}

					else if (iBiersortenwahl != 0 | iBiersortenwahl > iVerfügbareBiersorten)
					{
						iBiersortenwahl--;

						if (lAnzahlverfügbarkeitnummern[iBiersortenwahl] <= 0)
						{
							Console.WriteLine(lAusgaben[1]);
							continue;
						}

						else if (lAnzahlverfügbarkeitnummern[iBiersortenwahl] <= 5)
						{
							Console.WriteLine(lAusgaben[6] + lAnzahlverfügbarkeitnummern[iBiersortenwahl] + lAusgaben[7]);
							Console.WriteLine();
                        }

						//Berechnungen 
						lAnzahlverfügbarkeitnummern[iBiersortenwahl]--;
						dEndpreis += lPreise[iBiersortenwahl];

						//Array für Ausgabe der Biere
						//ArrayZähler für nächste Belegung von Bit von Array
						sGewählteBiere[iArrayZähler] = lBiersorten[iBiersortenwahl];
						iArrayZähler += 1;

						//Ausgabe was bestellt wurde
						Console.WriteLine(lBiersorten[iBiersortenwahl] + lAusgaben[3] + "{0:f}" + lAusgaben[4] + "{1:f}" + lAusgaben[5], lPreise[iBiersortenwahl], dEndpreis);

						//Maximal-Bestellwert    
						if (iArrayZähler == sGewählteBiere.Length)
						{
							Console.WriteLine(lAusgaben[2]);
							bWeitersBier = false;
						}

						//Nachfrage ob mehr Bier
						Console.WriteLine(lAusgaben[0]);
					}

					//User drückt den Falschen Key
					else
					{
						Console.WriteLine("Unter diesem Wert ist kein Bier hinterlegt!");
						Console.WriteLine();
						Console.WriteLine(lAusgaben[0]);
					}					
				}
			}
			//While Fußsteuerung
			while (bWeitersBier);
			}

			{
			//Bezahlung 
			Console.WriteLine("Preis deiner Gesamten Auswahl: {0:f} EUR", dEndpreis);
			do
			{
				//User gibt falschen Wert ein
				do
				{
					Console.WriteLine("Bitte wirf das Geld ein:");
					Console.WriteLine();

					//gibt keine Zahl ein (z.B Buchstabe, oder enter etc...
					if (!double.TryParse(Console.ReadLine(), out dGeldeinwurf))
					{
						Console.WriteLine("Der eingegebene Wert musss eine Zahl sein!");
						dGeldeinwurfIstkeineZahl = true;
					}

					//gibt negative Zahl ein
					else if (dGeldeinwurf < 0)
					{
						Console.WriteLine("Der eingegebene Wert muss positiv sein!");
						dGeldeinwurfIstkeineZahl = true;
					}

					//gibt richtig ein
					else
					{
						dGeldeinwurfIstkeineZahl = false;
					}
				}
				while (dGeldeinwurfIstkeineZahl);

				//dDifference weil double im Arbeitsspeicher 0,000000...000001 abgelegt wird --> ist nicht gleich 0
				double dDifference = Math.Abs(dEndpreis - dGeldeinwurf);

				if (dDifference < 0.001)
				{
                    Console.WriteLine();
                    Console.WriteLine("Passend bezahlt.");
					bAbgeschlossen = true;			    
				}

				//zu viel bezahlt
				else if (dEndpreis < dGeldeinwurf)
				{
					double dRückgeld = dGeldeinwurf - dEndpreis;
					Console.WriteLine("{0:f} EUR bezahlt. {1:f} EUR zurück.", dGeldeinwurf, dRückgeld);
					bAbgeschlossen = true;
				}

				//zu wenig gezahlt
				else
				{
					dEndpreis -= dGeldeinwurf;
					Console.WriteLine();
					Console.WriteLine("{0:f} EUR bezahlt. {1:f} EUR noch zu zahlen.", dGeldeinwurf, dEndpreis);
					Console.WriteLine();
				}

			}
			while (!bAbgeschlossen);
			}

Danke euch!

Elmini08

Erstellt vor 11 Monaten

Zitat von Patsche

sehr merkwürdig, dass hier nach der Antwort eines Problems gefragt wird und dann Antworten a la...."Befrag doch die KI" kommen.
Dann bennennt das Forum um in "C# für Fortgeschrittene & Profis".

Willkommen in der deutschen Foren Kultur: Anstatt zu schreiben: Ja ließ doch selber nach oder hier der Artikel kann man es auch einfach sein lassen. Entweder man sucht wirklich nach einer Lösung oder man lässt es einfach antworten hierzu zu geben. Ich bin wirklich dankbar das mir jeder irgendwie "helfen" möchte aber Wenn man einem Azubi der seit ca. 4-5 Monaten Programmiert mit keine Ahnung 1000 Zeilen Code vollballert von dem jeder aus meiner Firma teilweise nur Bahnhof versteht dann ist das keine Hilfe zu "Grundlagen von CSharp".

Erstellt vor 11 Monaten

Ich bin raus. Finde des viel komplizierter als mein Programm und des kann des gleiche. Tut mir leid. Aber danke für deine Hilfe. Schließt  Bitte einer den Thread. Danke!

Erstellt vor 11 Monaten

Verstehe ich jetzt nicht ganz!

Hast Du keine Möglichkeit, zu Hause die Datei auf einen USB-Stick runterzuladen? Der Name der ZipDatei ist völlig irrelevat und lässt sich auf dem USB-Stick ändern.

  1. Keine Datein aus unbekannten quellen --> USB-Stick is eine unbekannte Quelle
  2. Sophos (Firewall Programm) blockt auf den Arbeitsrechnern jegliche USB-Sticks

Schicks einfach hier rein!
Danke

Elmini08

Erstellt vor 11 Monaten

ich habe Dir im Anhang einen Getränkeautomaten mit Klassenstruktur angehängt.

Danke dir schonmal.
Leider darf/kann ich auf dem Arbeitslaptop (ich programmiere immer hier in der Arbeit) keine .zip Dateien aus "unbekannten" Quellen herunterladen. Zu dem ändert sich beim abspeichern der .zip der Dateiname komplett. Und die Datei ist heißt nicht mehr so wie unter deinem Beitrag zusehen ist. 
Kannst du den Code normal als Codeblock teilen? Wäre echt super.

Danke nochmal!

Elmini08