Announcement

Collapse
No announcement yet.

c# Taschenrechner

Collapse
This topic is closed.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • c# Taschenrechner

    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());

    }
    }
    }

  • #2
    Crosspost vor 17 Min
    https://www.computerbase.de/forum/th...chner.2188035/

    und "Funktioniert nicht" ist kein Fehler.

    geschlossen
    Christian

    Comment

    Working...
    X