C# :: Aufgabe #249 :: Lösung #2

3 Lösungen Lösungen öffentlich
#249

Taschenrechner in einer Konsole

Fortgeschrittener - C# von Gelöschte Person - 30.03.2019 um 19:29 Uhr
Programmiere einen Taschenrechner der folgende Rechenarten kann:
Plus
Minus
Mal
Geteilt
Wurzel
Hoch
Prozent
Quersumme
#2
vote_ok
von PhiMo (90 Punkte) - 08.09.2019 um 12:30 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TrainYourProgrammer___Taschenrechner
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                #region Variablen anlegen
                double dWert1;
                double dWert2;
                string sRechenoperation;
                bool bEingabeOK = false;
                #endregion

                #region Einlesen
                do
                {
                    Console.WriteLine("Wert 1 = ");
                    bEingabeOK = double.TryParse(Console.ReadLine(), out dWert1);

                    Console.WriteLine("Wert 2 = ");
                    bEingabeOK = double.TryParse(Console.ReadLine(), out dWert2);

                    Console.WriteLine("\nWelche Rechenoperation soll durchgeführt werden? ");
                    Console.WriteLine("1 - Addition \n2 - Subtraktion \n3 - Multiplikation \n4 - Division \n5 - Wurzelziehen \n6 - Potenzieren \n7 - Prozentrechnung \n8 - Quersumme ");
                    sRechenoperation = Console.ReadLine();

                    Console.WriteLine("\n");
                    switch (sRechenoperation)
                    {
                        #region Addition
                        case "1":
                        case "A":
                        case "a":

                            double dSumme = dWert1 + dWert2;

                            Console.WriteLine("Summe = " + dSumme);
                            break;
                        #endregion

                        #region Subtraktion
                        case "2":
                        case "S":
                        case "s":

                            double dDifferenz;

                            if (dWert1 > dWert2)
                            {
                                dDifferenz = dWert1 - dWert2;
                            }
                            else
                            {
                                dDifferenz = dWert2 - dWert1;
                            }

                            Console.WriteLine("Differenz = " + dDifferenz);
                            break;
                        #endregion

                        #region Multiplikation
                        case "3":
                        case "M":
                        case "m":

                            double dProdukt = dWert1 * dWert2;

                            Console.WriteLine("Produkt = " + dProdukt);
                            break;
                        #endregion

                        #region Division
                        case "4":
                        case "D":
                        case "d":

                            double dQuotient;

                            if (dWert1 > dWert2)
                            {
                                dQuotient = dWert1 / dWert2;
                            }
                            else
                            {
                                dQuotient = dWert2 / dWert1;
                            }

                            Console.WriteLine("Quotient = " + dQuotient);
                            break;
                        #endregion

                        #region Wurzelziehen
                        case "5":
                        case "W":
                        case "w":

                            double dWurzelZ1 = Math.Sqrt(dWert1);
                            double dWurzelZ2 = Math.Sqrt(dWert2);

                            Console.WriteLine("Wurzel Wert 1 = " + dWurzelZ1 + "\nWurzel Wert 2 = " + dWurzelZ2);
                            break;
                        #endregion

                        #region Potenzieren
                        case "6":
                        case "P":
                        case "p":

                            double dPotenz;

                            if (dWert1 > dWert2)
                            {
                                dPotenz = Math.Pow(dWert1, dWert2);
                            }
                            else
                            {
                                dPotenz = Math.Pow(dWert2, dWert1);
                            }

                            Console.WriteLine("Potenz = " + dPotenz);
                            break;
                        #endregion

                        #region Prozentrechnen
                        case "7":
                        case "Pr":
                        case "pr":

                            double dProzent;

                            if (dWert1 > dWert2)
                            {
                                dProzent = (dWert2 * 100) / dWert1;
                                Console.WriteLine("Prozent = " + dProzent + " % von " + dWert1);
                            }
                            else
                            {
                                dProzent = (dWert1 * 100) / dWert2;
                                Console.WriteLine("Prozent = " + dProzent + " % von " + dWert2);
                            }
                            break;
                        #endregion

                        #region Quersumme
                        case "8":
                        case "Q":
                        case "q":

                            double dErgebnis1 = Quersumme(dWert1);
                            double dErgebnis2 = Quersumme(dWert2);

                            Console.WriteLine("Quersumme von Wert 1 = " + dErgebnis1 + "\nQuersumme von Wert 2 = " + dErgebnis2);
                            break;
                            #endregion
                    }
                }
                while (!bEingabeOK);
                #endregion
            }
            catch (Exception e)
            {
                Console.WriteLine("FEHLER!" + e.Message);
            }
        }

        static public double Quersumme (double dZahl)
        {
            string sNummern = dZahl.ToString();
            dZahl = 0;
            List<double> ListeTeile = new List<double>();

            foreach (char ch in sNummern)
            {
                ListeTeile.Add(Convert.ToInt32(ch.ToString()));
            }

            foreach (int i in ListeTeile)
            {
                dZahl = dZahl + i;
            }

            return dZahl;
        }
    }
}

Kommentare:

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

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