C# :: Aufgabe #235 :: Lösung #1

3 Lösungen Lösungen öffentlich
#235

Übung zu For-Schleifen

Anfänger - C# von Blasius18 - 27.09.2018 um 18:41 Uhr
Die Fakultät einer Ganzzahl in den Grenzen von 0<=n<=60
als Konsolenanwendung umsetzen.


Der Anwender wird aufgefordet, eine Zahl in den Grenzen von 0 bis 60 einzugeben.
Das Programm errechnet den Wert und gibt ihn wieder aus.
Um die Entwicklung besser verfolgen zu können wird in jedem Schleifendurchgang der Aktuelle wert der Fakultät beim ,i-ten` schleifendurchgang ausgegeben.

Zusatzfeature (kann..)
gibt der Nutzer eine Zahl > 60 ein, gibt's einen Hinweis und er wird erneurt zur Eingabe einer Zahl 1 < zahl < 60 aufgefordert.
hat er 3 mal eine falsche Zahl eingegeben, bricht das Programm ab.
#1
1x
vote_ok
von Exception (3860 Punkte) - 23.12.2018 um 15:48 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Numerics;

namespace Fakultaet_235
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 0;
            int eingabeversuche = 0;

            try
            {
                do
                {
                    if (eingabeversuche == 3)
                    {
                        throw new Exception("Zu viele ungültige Eingaben.\nProgramm wird beendet.");
                    }

                    Console.Clear();
                    Console.WriteLine("Bitte geben Sie eine Zahl in mit folgenden Grenzen ein 0<=n<=60");
                    Console.Write("> ");
                    eingabeversuche++;
                }
                while (int.TryParse(Console.ReadLine(), out n) == false || n < 0 || n > 60);

                Console.WriteLine();

                Program.calcFactorial(n);
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine();
                Console.WriteLine(ex.Message);
                Console.ResetColor();
            }

            Console.ReadLine();
        }

        private static void calcFactorial(int n)
        {
            BigInteger result = new BigInteger(n);
            int index = 1;

            for (int value = n-1; value > 1; value--)
            {
                result *= value;
                Console.WriteLine("{0}\t{1}", index++, result);
            }
        }
    }
}

Kommentare:

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

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