Wert von Funktion an Hauptprogramm übergeben



  • Hallo wie kann man einen Wert aus einer Funktion an das Hauptprogramm übergeben?

    Bis hier bin ich gekommen und jetzt weiss ich net mehr weiter 😞

    Ich will halt in der Funktion start(); einen Wert eingeben.
    Und im Hauptprogramm soll dann überprüft werden ob der Wert richtig oder falsch ist.

    #include <iostream>
    #include <fstream>
    using namespace std;
    
    int main()
    {
    int start(bool a);
    
    start(......);
    
    .......
    
            if (a==true)
            {
            cout<<"a ist true\n";
            }
    
            if (a==false)
            {
            cout<<"a ist false\n";
            }
    
    system("PAUSE");
    }
    
    int start(bool a)
    {
    int wert;
    cout<<"Wert eingeben: ";
    cin>>wert;
    
            if (wert==1)
            {
            a = true;
            }
    
            else
    
            {
            a = false;
            }
    
    }
    


  • Du solltest dir unbedingt Funktionen noch ein wenig genauer anschauen. Wenn du einen Rückgabetypen hast (in deinem Falle int , vielleicht wäre bool besser), kannst du diesen auch benutzen, indem du ihn entweder in Variablen speicherst, oder direkt in If-Abfragen prüfst.

    Achte bitte auch ein wenig auf Einrückung. Und in If-Abfragen braucht man boolsche Ausdrücke nicht explizit auf Gleichheit mit true zu prüfen.



  • Habs hinbekommen 🙂

    #include <iostream>
    using namespace std;
    
    int main ()
    {
    int start (int erg);
    
    start(0);  //Aber warum kommt jetzt hier eine zahl rein ??
              // Das war in meinem Tutorial nicht beschreiben ...
    
    cout<<"Ergebniss: "<<start(0);
    cout<<"\n";
    
    system("PAUSE");
    }
    
    int start (int erg)
    {
       int result;
       erg = 1+1;
       return erg;
    }
    


  • Hm, deine momentane Funktion ist völlig sinnlos.
    Funktionsdeklarationen in main() sind auch eher unüblich.

    Beschreib bitte noch einmal, was du genau willst. Und wegen der Zahl, das ist ein Argument, aber informier dich doch einfach über Funktionen.



  • Stimmt meine Funktion ist wirklich total sinnlos xD

    Hab nochmal nachgelesen.

    Sowas wolle ich machen das was unten in der Funktion ausgerechnet wird sollte im Hauptprogramm ausgeben werden.

    #include <iostream>
    using namespace std;
    
    int main ()
    {
    int start ();
    
    start();
    
    cout<<"Ergebniss: "<<start();
    cout<<"\n";
    
    system("PAUSE");
    }
    
    int start ()
    {
       int erg;
       erg = 1+1;
       return erg;
    }
    


  • cout << start() << endl;
    

    Aber bitte erkundige dich noch einmal ausführlich über Funktionen. Das hat echt keinen Wert, wenn du das Konzept und die Syntax dahinter nur halb verstehst, denn Funktionen sind in fast jeder Programmiersprache etwas vom Grundlegendsten überhaupt.


Anmelden zum Antworten