C Sharp – die besten Beiträge

Taschenrechner programmieren mit C# der die Eingabe aus einer Zeile lesen kann?

Ich habe im Moment einen der nur in dieser Art funktioniert :

5

*

5

10

Also ein normaler Consolen Taschenrechner, aber ich brauche einen der so Rechnen kann: 5+5 10 also in einer Zeile. Ich krieg es nicht gebacken, mein Code:

using System;

namespace ConsoleApplication2 { public enum Rechenoperation { Minus,Plus,Division,Multiplikation, Unbekannt } internal class Program { public static void Main(string[] args) { var zahl1 = AskZahl(); var rechenoperation = AskforRechenoperation(); var zahl2 = AskZahl(); int? ergebnis = null; switch (rechenoperation) { case Rechenoperation.Minus: ergebnis = zahl1.Value - zahl2.Value; break; case Rechenoperation.Plus: ergebnis = zahl1.Value + zahl2.Value; break; case Rechenoperation.Division: ergebnis = zahl1.Value / zahl2.Value; break; case Rechenoperation.Multiplikation: ergebnis = zahl1.Value * zahl2.Value; break; case Rechenoperation.Unbekannt: break; default: throw new ArgumentOutOfRangeException(); }Console.Out.WriteLine(ergebnis); Console.ReadKey(); }

    private static Rechenoperation AskforRechenoperation()
    {
        Console.WriteLine("");
        var eingabe = Console.ReadLine();
        if (eingabe.Contains("-"))
        {
            return Rechenoperation.Minus;
        }
        if (eingabe.Contains("*"))
        {
            return Rechenoperation.Multiplikation;
        }
        if (eingabe.Contains("+"))
        {
            return Rechenoperation.Plus;
        }
        if (eingabe.Contains("/"))
        {
            return Rechenoperation.Division;
        }

        return Rechenoperation.Unbekannt;
    }
    private static int? AskZahl2()
    {
        Console.WriteLine("");
        var eingabe = Console.ReadLine();
        if (int.TryParse(eingabe,out var zahl))
        {
            return zahl;
        }

        return null;
    }

}

programmieren, C Sharp

Wieso bekommt die Variabel einen anderen Wert?

Wenn ich den C# Code ausführe wird der Wert der Variabel tief auf eingabe+48 gesetzt.

Wie kann ich das verhindern?

private static void tri()
        {
            Console.Write("Bitte geben sie die breite an: ");
            int tief = Console.Read();
            Console.WriteLine(tief);
            int tiefe = tief + 2;
            Console.WriteLine(tiefe +" "+ tief);
            StringBuilder dreieck = new StringBuilder(string.Empty);
            char[] form = new char[tiefe];
            for (int i = 0; i < tiefe; i++)
            {
                form[i] = ' ';
            }
            for (int it = 0; it <= tiefe/2-1; it++)
            {
                    try
                    {
                        form[(tiefe / 2 + 1) - it] = '#';
                        form[(tiefe / 2 + 1) + it] = '#';
                    }
                    catch
                    {
                        //abbrechen
                    }
                  dreieck.AppendFormat(new String(form)+ "\n");
              }
              Console.WriteLine(dreieck);
        }
Bild zum Beitrag
Programm, programmieren, C Sharp, Informatik, Visual Studio

Meistgelesene Beiträge zum Thema C Sharp