Das wäre mein Konsolen-Rechner, vielleicht hilft er dir, er fängt auch texteingaben ab.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleCalculator
{
class Program
{
public static void Main()
{
while (true)
{
Console.WriteLine("\n\nErste Zahl:\n");
String zahl1 = Convert.ToString(Console.ReadLine());
if (zahl1 == "exit") break;
zahl1 = LeerSchlägeEntfernen(zahl1);
if (EnthaeltBuchstaben(zahl1))
{
Console.WriteLine("\n\nOperator:");
String zeichen = Console.ReadLine();
if (zeichen == "exit") break;
zeichen = LeerSchlägeEntfernen(zeichen);
if (OperatorPruefen(zeichen))
{
Console.WriteLine("\n\nZweite Zahl:\n");
String zahl2 = Convert.ToString(Console.ReadLine());
if (zahl2 == "exit") break;
zahl2 = LeerSchlägeEntfernen(zahl2);
if (EnthaeltBuchstaben(zahl2))
{
string additionsOperator = " + ";
switch (zeichen)
{
case "+":
Console.WriteLine(zahl1 + additionsOperator + zahl2 + " = " + (Convert.ToDouble(zahl1) + Convert.ToDouble(zahl2)));
break;
case "-":
Console.WriteLine(zahl1 + " - " + zahl2 + " = " + (Convert.ToDouble(zahl1) - Convert.ToDouble(zahl2)));
break;
case "/":
Console.WriteLine(zahl1 + " / " + zahl2 + " = " + (Convert.ToDouble(zahl1) / Convert.ToDouble(zahl2)));
break;
case "*":
Console.WriteLine(zahl1 + " * " + zahl2 + " = " + (Convert.ToDouble(zahl1) * Convert.ToDouble(zahl2)));
break;
default:
break;
}
}
}
}
}
}
public static string LeerSchlägeEntfernen(String zahl1)
{
String ausgabe = "";
for (int i = 0; i < zahl1.Length; i++)
{
if (zahl1.Substring(i, 1) != " ")
{
ausgabe = ausgabe + zahl1.Substring(i, 1);
}
}
return ausgabe;
}
public static bool EnthaeltBuchstaben(String zahl1)
{
string test = "";
for (int i = 0; i < zahl1.Length; i++)
switch (zahl1.Substring(i, 1))
{
case "1":
test = test + zahl1.Substring(i, 1);
break;
case "2":
test = test + zahl1.Substring(i, 1);
break;
case "3":
test = test + zahl1.Substring(i, 1);
break;
case "4":
test = test + zahl1.Substring(i, 1);
break;
case "5":
test = test + zahl1.Substring(i, 1);
break;
case "6":
test = test + zahl1.Substring(i, 1);
break;
case "7":
test = test + zahl1.Substring(i, 1);
break;
case "8":
test = test + zahl1.Substring(i, 1);
break;
case "9":
test = test + zahl1.Substring(i, 1);
break;
case "0":
test = test + zahl1.Substring(i, 1);
break;
default:
Console.WriteLine("\nBitte nur Zahlen verwenden\n");
return false;
}
return true;
}
public static bool OperatorPruefen(String zeichen)
{
string halter = "";
for (int j = 0; j < zeichen.Length; j++)
switch (zeichen.Substring(j, 1))
{
case "/":
halter = halter + zeichen.Substring(j, 1);
break;
case "*":
halter = halter + zeichen.Substring(j, 1);
break;
case "+":
halter = halter + zeichen.Substring(j, 1);
break;
case "-":
halter = halter + zeichen.Substring(j, 1);
break;
default:
Console.WriteLine("\nUngültiger Operator\n");
return false;
}
return true;
}
}
}
void SetToTen(out int number)