W
wahappen1
Gast
Kann mir bitte jemand helfen ich versuche seit lange Zeit die Punkt vor Strich Rechnung in diesen Code reinzugeben aber es funktioniert nicht.
Hier ist mein Code in Library:
using System;
namespace TaschenrechnerLib
{
public class Taschenrechner
{
private string eingabespeicher = "0";
private char alteroperator = '+';
private decimal erstesZahl = 0;
private bool input = true;
public string AddZahl(char zahl)
{
input = true;
if (eingabespeicher == "0")
eingabespeicher = zahl.ToString();
else
eingabespeicher += zahl;
return eingabespeicher;
}
public string NewOperator(char op)
{
erstesZahl = Convert.ToDecimal(eingabespeicher);
eingabespeicher = "0";
alteroperator = op;
input = false;
return eingabespeicher;
}
public decimal Gleich()
{
decimal zweitesZahl = Convert.ToDecimal(eingabespeicher);
decimal result = 0;
switch (alteroperator)
{
case '+':
result = erstesZahl + zweitesZahl;
break;
case '-':
result = erstesZahl - zweitesZahl;
break;
case '*':
result = erstesZahl * zweitesZahl;
break;
case '/':
if (zweitesZahl != 0)
result = erstesZahl / zweitesZahl;
break;
}
// Reset for the next calculation
eingabespeicher = result.ToString();
erstesZahl = result;
return result;
}
public string GetInput()
{
if (input)
return eingabespeicher;
return erstesZahl.ToString();
}
public string AddKomma()
{
if (!eingabespeicher.Contains(","))
eingabespeicher += ",";
return eingabespeicher;
}
}
}
Und hier ist Console:
using TaschenrechnerLib;
namespace GruppeB;
internal class Program
{
static void Main(string[] args)
{
Taschenrechner taschenrechner = new Taschenrechner();
Console.Clear();
Console.WriteLine(taschenrechner.GetInput());
bool quit = false;
while (!quit)
{
var key = Console.ReadKey(true);
if (key.Key == ConsoleKey.Escape)
{
quit = true;
}
else if (key.KeyChar >= '0' && key.KeyChar <= '9')
{
taschenrechner.AddZahl(key.KeyChar);
}
else if (key.KeyChar == '+' || key.KeyChar == '-' ||
key.KeyChar == '*' || key.KeyChar == '/')
{
taschenrechner.NewOperator(key.KeyChar);
}
else if (key.KeyChar == '.' || key.KeyChar == ',')
{
taschenrechner.AddKomma();
}
Console.Clear();
Console.WriteLine(taschenrechner.GetInput());
}
}
}
Hier ist mein Code in Library:
using System;
namespace TaschenrechnerLib
{
public class Taschenrechner
{
private string eingabespeicher = "0";
private char alteroperator = '+';
private decimal erstesZahl = 0;
private bool input = true;
public string AddZahl(char zahl)
{
input = true;
if (eingabespeicher == "0")
eingabespeicher = zahl.ToString();
else
eingabespeicher += zahl;
return eingabespeicher;
}
public string NewOperator(char op)
{
erstesZahl = Convert.ToDecimal(eingabespeicher);
eingabespeicher = "0";
alteroperator = op;
input = false;
return eingabespeicher;
}
public decimal Gleich()
{
decimal zweitesZahl = Convert.ToDecimal(eingabespeicher);
decimal result = 0;
switch (alteroperator)
{
case '+':
result = erstesZahl + zweitesZahl;
break;
case '-':
result = erstesZahl - zweitesZahl;
break;
case '*':
result = erstesZahl * zweitesZahl;
break;
case '/':
if (zweitesZahl != 0)
result = erstesZahl / zweitesZahl;
break;
}
// Reset for the next calculation
eingabespeicher = result.ToString();
erstesZahl = result;
return result;
}
public string GetInput()
{
if (input)
return eingabespeicher;
return erstesZahl.ToString();
}
public string AddKomma()
{
if (!eingabespeicher.Contains(","))
eingabespeicher += ",";
return eingabespeicher;
}
}
}
Und hier ist Console:
using TaschenrechnerLib;
namespace GruppeB;
internal class Program
{
static void Main(string[] args)
{
Taschenrechner taschenrechner = new Taschenrechner();
Console.Clear();
Console.WriteLine(taschenrechner.GetInput());
bool quit = false;
while (!quit)
{
var key = Console.ReadKey(true);
if (key.Key == ConsoleKey.Escape)
{
quit = true;
}
else if (key.KeyChar >= '0' && key.KeyChar <= '9')
{
taschenrechner.AddZahl(key.KeyChar);
}
else if (key.KeyChar == '+' || key.KeyChar == '-' ||
key.KeyChar == '*' || key.KeyChar == '/')
{
taschenrechner.NewOperator(key.KeyChar);
}
else if (key.KeyChar == '.' || key.KeyChar == ',')
{
taschenrechner.AddKomma();
}
Console.Clear();
Console.WriteLine(taschenrechner.GetInput());
}
}
}