1

C# Programm funktioniert nicht

Frage von Zetsu20 Zetsu20

Hallo liebe GuteFrageNet Community,

ich versuche mich gerade ans programmieren und weiß nicht was ich hier falsch gemacht habe -.-

Das Programm soll folgendermaßen funktionieren: der Benutzer gibt 2 zahlen ein und ein Rechenzeichen... Dann sollen die zahlen addiert oder subtrahiert werden, aber irgendwie funzt das noch nicht

hier der programmcode, ist in c# programmiert:

public static MethodeAddieren(int zahl1, int zahl2,int ergebnis,char zeichen) { if(zeichen == "+") { return ergebnis = zahl1 + zahl2; } else if(zeichen == "-") { return ergebnis = zahl1 - zahl2; } else { Console.WriteLine("Falsches Zeichen"); break; }

    }


    static void Main(string[] args)
    {
        int a;
        int b;
        char zeichen;
        int c;

        Console.WriteLine("Bitte geben sie ihre erste Zahl ein, die zweite Zahl und ihr Zeichen");
        a = Convert.ToInt32(Console.ReadLine());
        b = Convert.ToInt32(Console.ReadLine());
        zeichen = Console.ReadLine();

        MethodeAddieren(a,b,c,zeichen);
        Console.WriteLine(a,b,c,zeichen);

       Danke schonmal :)
Fragen zu gleichen Themen finden

Antworten (2)

  • 0
    Antwort von RichardW RichardW

    Hallo Zetsu20,

    wenn ich deinen Quelltext richtig deute (Die Formatierung in diesem Forum ist wirklich minderwertig) , liegt dein Fehler in der Definition der Methode. Versuch es mal so

    public static int MethodeAddieren(int Zahl1, int Zahl2, char Rechenzeichen) {

            int result = 0;
            try
            {
                if (Rechenzeichen == '+')
                {
                    result = Zahl1 + Zahl2;
                    return result;
                }
                if (Rechenzeichen == '-')
                {
                    result = Zahl1 - Zahl2;
                    return result;
                }
    
    
                else
                {
                    // ungültiger Rechenoperant
                    return result = 0;
                }
            }
            catch
            {
                return result = 0;
            }
        }
    

    Hierbei ist wichtig, dass du deine statische Methode als Zahlenwert definierst.

    Ausserdem solltest du dir angewöhnen mögliche Eingabefehler durch eine try{}catch{} Anweisung abzufangen.

    Nützliche Information nebenbei:

    Der Variablentyp Integer(INT) umfasst nur Zahlen ohne Fließkomma! Sobald dein ergebnis einen Wert mit Komma annimmt wird dein Programm abstürzen bzw (trycatch sei dank) nichts tun.

    Um dem entgegen zu wirken solltest du den Variablentyp double oder float Verwenden.

    ich hoffe ich konnte dir helfen und du hast meine Lösung verstanden. Falls du noch Fragen hast stehe ich dir gerne zur Verfügung. Liebe Grüße

  • 0
    Antwort von Zetsu20 Zetsu20

    achja, der fehler ist:

    "DIe Methode muss einen Rückgabetyp besitzen."

Diese Frage

Verwandte Fragen

Noch nicht den richtigen Rat gefunden?

Einfach und schnell viele hilfreiche Ratschläge von Deutschlands aktivster Ratgeber-Community erhalten!

Einfach und schnell einen Tipp erstellen und Ihren guten Rat mit anderen teilen!

Einfach und schnell ein Video hochladen und anschaulichen Rat an alle geben!

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.