C# :: Aufgabe #11 :: Lösung #25

25 Lösungen Lösungen öffentlich
#11

Multiplikation ohne zu multiplizieren

Anfänger - C# von Gustl - 11.11.2012 um 17:24 Uhr
Erstellen Sie ein Konsolenprogramm welches dem Benutzer auffordert 2 Zahlen einzugeben, diese sollen dann multipliziert werden, jedoch ist nur die Grundrechenart Addition erlaubt.

Wenn einer der 2 Zahlen keine Zahl ist, soll eine Fehlermeldung ausgegeben werden und der Benutzer noch einmal aufgefordert werden eine Zahl einzugeben.
#25
vote_ok
von Chrille (100 Punkte) - 24.10.2020 um 15:24 Uhr
Quellcode ausblenden C#-Code
        static void Main(string[] args)
        {
            do
            {
                //erste Zahl eingeben lassen
                Console.Write("Bitte Zahl 1 eingeben: ");
                int ersteZahl;
                while (!int.TryParse(Console.ReadLine(), out ersteZahl))
                {
                    Console.Write("Fehlerhafte Eingabe, Eingabe wiederholen: ");
                }

                //zweite Zahl eingeben lassen
                Console.Write("Bitte Zahl 2 eingeben: ");
                int zweiteZahl;
                while (!int.TryParse(Console.ReadLine(), out zweiteZahl))
                {
                    Console.Write("Fehlerhafte Eingabe, Eingabe wiederholen: ");
                }

                //Multiplikation ausführen.
                int ergebnis = 0;
                try
                {
                    for (int i = 0; i < Math.Abs(ersteZahl); i++)           //ersteZahl muss der absolute Wert ermittelt werden, sonst droht eine Unendlich-Schleife
                    {
                        if (Math.Sign(ersteZahl) != -1)                     // prüfung auf Vorzeichen, -1 bedeutet die Zahl ist Negativ
                            ergebnis = checked(ergebnis + zweiteZahl);      // Überprüfung auf Überlauf
                        else
                            ergebnis = checked(ergebnis - zweiteZahl);      
                    }
                    Console.WriteLine("Das Ergebnis der Multiplikation lautet: " + ergebnis);
                }
                catch (OverflowException e)
                {
                    Console.WriteLine("Multiplikation nicht möglich, werte sind zu groß.");
                }
            } while (Console.ReadKey().Key != ConsoleKey.Escape);

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben