Problem mit Funktionen



  • Grüß Euch,

    hab ein Problem bei einer Funktion.

    Ich wollte ein kleines Programm schreiben, wo alle möglichen Mathematischen Sachenberechnet werden können... nur leider spielen meine Funktionen nicht mit.
    Mein Compiler sagt mir, das es angeblich zu viele Parameter und Argumente für den double gibt.

    Was meint er damit?! Liegt das Problem darin das ich die Varaible double Sum1, double Sum2 schon in der Funktion FunkAddition habe?

    Was muss ich ändern?!

    //Kompletter Taschenrechner
    #include <iostream>
    #include <cstdlib>
    
    using namespace std;
    
    void FunkAddition(double Sum1, double Sum2);
    void FunkSubtrahieren (double Sum1, Sum2);
    
    int main()
    {
      //Variablen deklaration
      int menue_eingabe;
      double Sum1, Sum2, ergebnis;    
    
      //Benutzer nach Rechenart fragen - Menü
      cout << "Was wollen sie berechnen?" << endl;
      cout << endl;
      cout << " Menue" << endl;
      cout << "   Addieren            (1)" << endl;
      cout << "   Subtrahieren        (2)" << endl;    
      cout << "   Multiplikation      (3)" << endl;
      cout << "   Division            (4)" << endl;
    
      cout << "   Programm beenden    (0)" << endl;
    
      cout << endl;
    
      //Abfrage der Tasteneingabe
      cout << "Ihre Eingabe: ";
      cin >> menue_eingabe;  
    
      switch(menue_eingabe)
      {
          //Funktion zur Addition
          case 1: FunkAddition(Sum1, Sum2);
                  break;
          case 2: FunkSubtrahieren(Sum1, Sum2);
                  break;
    
       } // Ende der switch Verzweigung
    
      system("PAUSE");	
      return 0;
    
    } //Ende der main Methode
    
    //Funktion zur Addition wird erstellt
    void FunkAddition(double Sum1, double Sum2)
    {
        cout << "Summand 1 = ";
        cin >> Sum1;
        cout << "Summand 2 = ";
        cin >> Sum2;
        cout << endl;
        cout << "Das Ergebnis ist " << Sum1+Sum2 << endl;
    }
    
    void FunkSubtrahieren(double Sum1, double Sum2)
    {
        cout << "Summand 1 = ";
        cin >> Sum1;
        cout << "Summand 2 = ";
        cin >> Sum2;
        cout << endl;
        cout << "Das Ergebnis ist " << Sum1-Sum2 << endl;
    }
    


  • //Kompletter Taschenrechner 
    #include <iostream> 
    #include <cstdlib> 
    
    using namespace std; 
    
    void FunkAddition(double Sum1, double Sum2); 
    void FunkSubtrahieren (double Sum1, double Sum2); 
    
    int main() 
    { 
      //Variablen deklaration 
      int menue_eingabe; 
      double Sum1 = 0, Sum2 = 0, ergebnis;     
    
      //Benutzer nach Rechenart fragen - Menü 
      cout << "Was wollen sie berechnen?" << endl; 
      cout << endl; 
      cout << " Menue" << endl; 
      cout << "   Addieren            (1)" << endl; 
      cout << "   Subtrahieren        (2)" << endl;     
      cout << "   Multiplikation      (3)" << endl; 
      cout << "   Division            (4)" << endl; 
    
      cout << "   Programm beenden    (0)" << endl; 
    
      cout << endl; 
    
      //Abfrage der Tasteneingabe 
      cout << "Ihre Eingabe: "; 
      cin >> menue_eingabe;   
    
      switch(menue_eingabe) 
      { 
          //Funktion zur Addition 
          case 1: FunkAddition(Sum1, Sum2); 
                  break; 
          case 2: FunkSubtrahieren(Sum1, Sum2); 
                  break; 
    
       } // Ende der switch Verzweigung 
    
      system("PAUSE");    
      return 0; 
    
    } //Ende der main Methode 
    
    //Funktion zur Addition wird erstellt 
    void FunkAddition(double Sum1, double Sum2) 
    { 
        cout << "Summand 1 = "; 
        cin >> Sum1; 
        cout << "Summand 2 = "; 
        cin >> Sum2; 
        cout << endl; 
        cout << "Das Ergebnis ist " << Sum1+Sum2 << endl; 
    } 
    
    void FunkSubtrahieren(double Sum1, double Sum2) 
    { 
        cout << "Summand 1 = "; 
        cin >> Sum1; 
        cout << "Summand 2 = "; 
        cin >> Sum2; 
        cout << endl; 
        cout << "Das Ergebnis ist " << Sum1-Sum2 << endl; 
    }
    

    wozu die Variable ergebnis gut ist, weiß ich nicht ..

    Edit: Meide system aufrufe, wenn möglich



  • XP^ schrieb:

    wozu die Variable ergebnis gut ist, weiß ich nicht ..

    Ich auch net... ist mir eventl mit rein gerutscht!

    Weißt du wo der Fehler liegt?!



  • Dein Fehler war

    void FunkSubtrahieren (double Sum1, Sum2);
    

    sollte

    void FunkSubtrahieren (double Sum1, double Sum2);
    

    heißen.

    Außerdem solltest du allen Variablen einen Anfangswert geben, dann bekommst keine Warnings.



  • Argh!!!! Das gibt es net! SOOOOONE Kleinigkeit verdirbt einen den ganzen Abend! Seit 21:00 Uhr suche ich den Fehler und sooooooone Kleinigkeit machts nun aus!!!

    VERDAMMT!

    Danke für deine Hilfe! Hast mir echt geholfen!

    Außerdem solltest du allen Variablen einen Anfangswert geben

    Was meinst du damit?!



  • Crew06ZW schrieb:

    Außerdem solltest du allen Variablen einen Anfangswert geben

    Was meinst du damit?!

    Naja, Sum1 und Sum2 sollten einen Anfangswert haben, in dem Fall -> 0
    Wenn das nicht der Fall ist, schmeißt der Compiler ein paar Warnungen raus, mit Sprüchen, wie zB. die Variable ist zwar deklariert, benutzt wird sie aber nirgendwo.



  • Ah! Okay... verstehe!

    Danke für deine Hilfe und deine Tipps!


Anmelden zum Antworten