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
2090883

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.