C# :: Aufgabe #249 :: Lösung #2
3 Lösungen
#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
Plus
Minus
Mal
Geteilt
Wurzel
Hoch
Prozent
Quersumme
#2
von PhiMo (90 Punkte)
- 08.09.2019 um 12:30 Uhr
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
Seite 1 von 0
1
