我是编程和C#的新手,我找不到任何解决方案。
我做了一个小型计算器只是为了尝试一些基础知识(我知道这不是一个干净的代码)
因为我有德国设置和utf-8(我认为)我必须写1.5而不是1.5
在我的计算器中,如果我输入1.5,它就不会出错。
我希望能够使用这两种方法,因此我可以输入1.5或1,5
也许有人可以为假人解释^^
寻找颜色,但那是我的下一个问题。有什么方法我可以只改变一行的颜色,并在下一行使用标准的颜色而不像我一样将它设置为白色?
感谢您的帮助和对我的英语表示遗憾 - 以下是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Threading;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
double zahl1, zahl2, ergebnis = 0;
string operand;
while (true)
{
Console.ForegroundColor = ConsoleColor.White;
Zahl1:
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("1. Zahl:");
Console.ForegroundColor = ConsoleColor.White;
string eingabe = Console.ReadLine();
try
{
zahl1 = double.Parse(eingabe);
}
catch (FormatException)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Eingabe ungültig");
Console.ForegroundColor = ConsoleColor.White;
goto Zahl1;
}
Operand:
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Operand wählen [ ( + ), ( - ), ( / oder : ), ( * oder x ) ]");
Console.ForegroundColor = ConsoleColor.White;
operand = Console.ReadLine();
if(operand == "+" || operand == "-" || operand == "X" || operand == "x" || operand == "*" || operand == "/" || operand == ":")
{
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Kein gültiger Operand");
Console.ForegroundColor = ConsoleColor.White;
goto Operand;
}
Zahl2:
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("2. Zahl:");
Console.ForegroundColor = ConsoleColor.White;
string eingabe2 = Console.ReadLine();
try
{
zahl2 = double.Parse(eingabe2);
}
catch (FormatException)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Eingabe ungültig");
Console.ForegroundColor = ConsoleColor.White;
goto Zahl2;
}
if (operand == "+")
{
ergebnis = zahl1 + zahl2;
}
else if (operand == "-")
{
ergebnis = zahl1 - zahl2;
}
else if (operand == "/" || operand == ":")
{
ergebnis = zahl1 / zahl2;
}
else if (operand == "*" || operand.ToUpper() == "X")
{
ergebnis = zahl1 * zahl2;
}
// Sollte nie erreicht werden
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Kein gültiger Operand - Ergebnis = 0 ¯\\_(-.-)_/¯");
Console.ForegroundColor = ConsoleColor.White;
}
Console.ForegroundColor = ConsoleColor.Magenta;
Console.WriteLine("Ergebnis: " + ergebnis);
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("Neue Rechnung? (y || j) Oder Beenden? (beliebige Taste außer y und j)");
Console.ForegroundColor = ConsoleColor.White;
ConsoleKeyInfo eingabekey = Console.ReadKey();
if (eingabekey.Key == ConsoleKey.Y || eingabekey.Key == ConsoleKey.J)
{
Console.Clear();
continue;
}
else
{
Environment.Exit(0);
}
}
}
}
}