Exemplo n.º 1
0
        // zugriff rückgabetyp name (parameter)
        static void Main(string[] args)
        {
            Dictionary <string, double> uStListe = new Dictionary <string, double>();

            uStListe.Add("DE", 19);
            uStListe.Add("GB", 15);
            uStListe.Add("NL", 21);
            uStListe.Add("RU", 30);
            Bestellzeile[] bestellung = new Bestellzeile[]
            { new Bestellzeile {
                  bezeichnung = "Laptop", einzelpreis = 782.99, bestellmenge = 0, zeilenpreis = 0.0
              },
              new Bestellzeile {
                  bezeichnung = "Tablet", einzelpreis = 186.49, bestellmenge = 0, zeilenpreis = 0.0
              },
              new Bestellzeile {
                  bezeichnung = "Phone ", einzelpreis = 87.99, bestellmenge = 0, zeilenpreis = 0.0
              },
              new Bestellzeile {
                  bezeichnung = "Printer", einzelpreis = 236.39, bestellmenge = 0, zeilenpreis = 0.0
              },
              new Bestellzeile {
                  bezeichnung = "Desktop", einzelpreis = 986.99, bestellmenge = 0, zeilenpreis = 0.0
              } };
            double         uStSatz      = landesauswahl(uStListe);
            int            oldCursorTop = 9;
            ConsoleKeyInfo cki;

            do
            {
                int startLeft = 4; int startTop = 8;
                int breiteBez = 7; int breiteEp = 7;
                SetCursorPosition(startLeft, startTop);
                Write("Bezeichnung\tE.Preis\tBestellmenge\tPreis");
                ForegroundColor = Yellow;
                double gesamtpreis = 0;
                foreach (Bestellzeile zeile in bestellung)
                {
                    SetCursorPosition(4, ++CursorTop);;
                    Write("{0,-7}\t{1,7:F2}\t{2,6:D}\t{3,13:F2}", zeile.bezeichnung, zeile.einzelpreis, zeile.bestellmenge, zeile.zeilenpreis);
                    gesamtpreis += zeile.zeilenpreis;
                }
                //


                hinweiseAusgeben(22, 22, Blue);

                CursorSize = 10;
                SetCursorPosition(startLeft, 18);
                Write("Gesamtpreis: {0,12:F2}", gesamtpreis);
                hinweiseAusgeben(ustBerechnen(gesamtpreis, uStSatz));
                SetCursorPosition(breiteBez + 8 + breiteEp + 8, oldCursorTop);
                cki = Console.ReadKey(true);
                if (!Char.IsNumber(cki.KeyChar))
                {
                    switch (cki.Key.ToString())
                    {
                    case "UpArrow": SetCursorPosition(CursorLeft, (CursorTop > startTop + 1) ? --CursorTop : CursorTop); break;

                    case "DownArrow": SetCursorPosition(CursorLeft, (CursorTop < (startTop + 5)) ? ++CursorTop : CursorTop); break;

                    case "RightArrow":
                        bestellung[CursorTop - 9].bestellmenge++;
                        bestellung[CursorTop - 9].zeilenpreis += bestellung[CursorTop - 9].einzelpreis; break;

                    case "LeftArrow":
                        if (bestellung[CursorTop - 9].bestellmenge > 0)
                        {
                            bestellung[CursorTop - 9].bestellmenge--;
                            bestellung[CursorTop - 9].zeilenpreis -= bestellung[CursorTop - 9].einzelpreis;
                        }
                        break;

                    default: break;
                    }
                    oldCursorTop = CursorTop;
                }
                else
                {
                    int num = int.Parse(cki.KeyChar.ToString());
                    bestellung[CursorTop - 9].bestellmenge = num;
                    bestellung[CursorTop - 9].zeilenpreis  = num * bestellung[CursorTop - 9].einzelpreis;
                    Write(num);
                }
            } while (cki.Key != ConsoleKey.Escape);
            ReadLine();
        }           // end of main
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            Title = "Detlev's Computer Laden";
            Dictionary <string, double> landMwst = new Dictionary <string, double>();

            landMwst.Add("DE", 0.19);
            landMwst.Add("NL", 0.21);
            landMwst.Add("SW", 0.25);
            landMwst.Add("FR", 0.16);

            Bestellzeile[] bestellung = new Bestellzeile[]
            { new Bestellzeile {
                  bezeichnung = "Laptop", einzelpreis = 782.99, bestellmenge = 0, zeilenpreis = 0.0
              },
              new Bestellzeile {
                  bezeichnung = "Tablet", einzelpreis = 186.49, bestellmenge = 0, zeilenpreis = 0.0
              },
              new Bestellzeile {
                  bezeichnung = "Phone ", einzelpreis = 87.99, bestellmenge = 0, zeilenpreis = 0.0
              },
              new Bestellzeile {
                  bezeichnung = "Printer", einzelpreis = 236.39, bestellmenge = 0, zeilenpreis = 0.0
              },
              new Bestellzeile {
                  bezeichnung = "Desktop", einzelpreis = 986.99, bestellmenge = 0, zeilenpreis = 0.0
              } };
            BackgroundColor = White;
            Clear();
            string dateString = $"Heute: {DateTime.Now.ToLongDateString()}";
            string timeString = $" {DateTime.Now.ToString("hh:mm:ss")}";

            int lengthDateTimeNow = dateString.Length;
            int lengthTimeNow     = timeString.Length;

            int maxWidth  = LargestWindowWidth;
            int maxHeight = LargestWindowHeight;
            int topLine   = 0;

            SetWindowSize(maxWidth / 2, maxHeight / 2);
            SetCursorPosition(maxWidth / 2 - lengthDateTimeNow, topLine);
            ForegroundColor = Red;
            WriteLine(dateString);
            ForegroundColor = DarkGreen;
            SetCursorPosition(maxWidth / 2 - lengthDateTimeNow - 2, topLine + 1);
            WriteLine("Uhrzeit:");
            SetCursorPosition(maxWidth / 2 - lengthTimeNow, topLine + 1);
            WriteLine(timeString);

            int            oldCursorTop = 9;
            ConsoleKeyInfo cki;
            bool           mwstGesetzt = false;
            //double steuerSatz = mehrwertsteuersatz(landMwst);
            double steuerSatz = 0.0;

            //WriteLine("\n{0}", landMwst["D"]);
            do
            {
                int startLeft = 4; int startTop = 8;
                int breiteBez = 7; int breiteEp = 7;
                SetCursorPosition(startLeft, startTop);
                ForegroundColor = Black;
                Write("Bezeichnung\tE.Preis\tBestellmenge\tPreis");
                ForegroundColor = Blue;
                double gesamtpreis = 0;
                foreach (Bestellzeile zeile in bestellung)
                {
                    SetCursorPosition(4, ++CursorTop);;
                    Write("{0,-7}\t{1,7:F2}\t{2,6:D}\t{3,13:F2}", zeile.bezeichnung, zeile.einzelpreis, zeile.bestellmenge, zeile.zeilenpreis);
                    gesamtpreis += zeile.zeilenpreis;
                }
                hinweiseAusgeben(startLeft, startTop - 5, Red);
                CursorSize = 10;

                /* while (!mwstGesetzt)
                 * {
                 *    SetCursorPosition(startLeft, 18);
                 *    WriteLine("Bitte geben Sie ihr Mehrwertsteuersatz an: ");
                 *    SetCursorPosition(startLeft, 19);
                 *    foreach (KeyValuePair<string, double> kvp in landMwst)
                 *    {
                 *        Write("{0} : {1:P}\t", kvp.Key, kvp.Value);
                 *    }
                 *    auswahl = ReadLine();
                 *    double satz = 0.0;
                 *    if(landMwst.TryGetValue(auswahl, out satz)){
                 *            mwstGesetzt = true;
                 *    }
                 *    else
                 *    {
                 *        Write("\nLand nicht gefunden, bitte versuchen Sie es nochmahl!");
                 *    }
                 *
                 * }*/

                SetCursorPosition(startLeft, 20);
                Write("Gesamtpreis: {0,8:F2}", gesamtpreis);
                // Write("\n Mehrwertsteuer: {0,8:F2}", mwstBerechnen(0.07,gesamtpreis));
                // Write("\n          Summe: {0,8:F2}", gesamtpreis + mwstBerechnen(0.07,gesamtpreis));

                if (steuerSatz == 0.0)
                {
                    steuerSatz = mehrwertsteuersatz(landMwst);
                }

                summeBerechnen(gesamtpreis, ConsoleColor.DarkGreen, /*landMwst[auswahl]*/ steuerSatz);

                SetCursorPosition(breiteBez + 8 + breiteEp + 8, oldCursorTop);
                cki = Console.ReadKey(true);
                if (!Char.IsNumber(cki.KeyChar))
                {
                    switch (cki.Key.ToString())
                    {
                    case "UpArrow": SetCursorPosition(CursorLeft, (CursorTop > startTop + 1) ? --CursorTop : CursorTop); break;

                    case "DownArrow": SetCursorPosition(CursorLeft, (CursorTop < (startTop + 5)) ? ++CursorTop : CursorTop); break;

                    case "RightArrow":
                        bestellung[CursorTop - 9].bestellmenge++;
                        bestellung[CursorTop - 9].zeilenpreis += bestellung[CursorTop - 9].einzelpreis; break;

                    case "LeftArrow":
                        if (bestellung[CursorTop - 9].bestellmenge > 0)
                        {
                            bestellung[CursorTop - 9].bestellmenge--;
                            bestellung[CursorTop - 9].zeilenpreis -= bestellung[CursorTop - 9].einzelpreis;
                        }
                        break;

                    default: break;
                    }
                    oldCursorTop = CursorTop;
                }
                else
                {
                    int num = int.Parse(cki.KeyChar.ToString());
                    bestellung[CursorTop - 9].bestellmenge = num;
                    bestellung[CursorTop - 9].zeilenpreis  = num * bestellung[CursorTop - 9].einzelpreis;
                    Write(num);
                }
            } while (cki.Key != ConsoleKey.Escape);
            ReadLine();
        }                                      // end of main
        static double mwst; // hier wird die mwst angegeben
        // zugriff Rückgabetyp name (parameter)
        static void Main(string[] args)
        {
            Dictionary <string, double> saetze =
                new Dictionary <string, double>();

            saetze.Add("D7", 0.07);
            saetze.Add("D19", 0.19);
            saetze.Add("GB", 0.15);
            saetze.Add("SW", 0.25);

            Bestellzeile[] bestellung = new Bestellzeile[]
            { new Bestellzeile {
                  bezeichnung = "Kaffee ", einzelpreis = 13.00, bestellmenge = 0, zeilenpreis = 0.0
              },
              new Bestellzeile {
                  bezeichnung = "Tee ", einzelpreis = 3.20, bestellmenge = 0, zeilenpreis = 0.0
              },
              new Bestellzeile {
                  bezeichnung = "Phone ", einzelpreis = 87.99, bestellmenge = 0, zeilenpreis = 0.0
              },
              new Bestellzeile {
                  bezeichnung = "Printer", einzelpreis = 236.39, bestellmenge = 0, zeilenpreis = 0.0
              },
              new Bestellzeile {
                  bezeichnung = "Desktop", einzelpreis = 986.99, bestellmenge = 0, zeilenpreis = 0.0
              } };
            int            oldCursorTop = 9;
            ConsoleKeyInfo meinKey;

            do
            {
                int startLeft = 4; int startTop = 8;
                int breiteBez = 7; int breiteEp = 7;
                SetCursorPosition(startLeft, startTop);
                Write("Bezeichnung\tE.Preis\tBestellmenge\tPreis");
                ForegroundColor = DarkCyan;
                double gesamtpreis = 0;
                foreach (Bestellzeile zeile in bestellung)  // nimmt zeilenweise Daten
                {
                    SetCursorPosition(4, ++CursorTop);;
                    Write("{0,-7}\t{1,7:F2}\t{2,6:D}\t{3,13:F2}", zeile.bezeichnung, zeile.einzelpreis, zeile.bestellmenge, zeile.zeilenpreis);
                    // -7 von links, 7 breit
                    gesamtpreis += zeile.zeilenpreis;
                }
                hinweiseAusgeben(22, 22, Red); // Aufruf der Funktion
                CursorSize = 10;
                SetCursorPosition(startLeft, 18);
                Write("Gesamtpreis:\t{0:F2}", gesamtpreis);
                steuerBerechnen(gesamtpreis, 0.19);
                // steuerBerechnen hier ausgeben:
                SetCursorPosition(startLeft, CursorTop + 1);
                Write("Ust beträgt:\t{0:F2}", mwst);
                SetCursorPosition(startLeft, CursorTop + 3);
                steuern(saetze);

                SetCursorPosition(breiteBez + 8 + breiteEp + 8, oldCursorTop);
                meinKey = Console.ReadKey(true);
                if (!Char.IsNumber(meinKey.KeyChar))
                {
                    switch (meinKey.Key.ToString())
                    {
                    case "UpArrow": SetCursorPosition(CursorLeft, (CursorTop > startTop + 1) ? --CursorTop : CursorTop); break;

                    case "DownArrow": SetCursorPosition(CursorLeft, (CursorTop < (startTop + 5)) ? ++CursorTop : CursorTop); break;

                    case "RightArrow":
                        bestellung[CursorTop - 9].bestellmenge++;
                        bestellung[CursorTop - 9].zeilenpreis += bestellung[CursorTop - 9].einzelpreis; break;

                    case "LeftArrow":
                        if (bestellung[CursorTop - 9].bestellmenge > 0)
                        {
                            bestellung[CursorTop - 9].bestellmenge--;
                            bestellung[CursorTop - 9].zeilenpreis -= bestellung[CursorTop - 9].einzelpreis;
                        }
                        break;

                    default: break;
                    }
                    oldCursorTop = CursorTop;
                }
                else
                {
                    int num = int.Parse(meinKey.KeyChar.ToString());
                    bestellung[CursorTop - 9].bestellmenge = num;
                    bestellung[CursorTop - 9].zeilenpreis  = num * bestellung[CursorTop - 9].einzelpreis;
                    Write(num);
                }
            } while (meinKey.Key != ConsoleKey.Escape);
            ReadLine();
        }   // end of main