Einfachster Funktionsaufruf falsch ~.~



  • Hallo,
    wollte gerade meine erste Funktion in weinem Programm erstellen..
    Strikt nach der Lernmethode für Anfänger 🙂

    ------------------------------------------------------------------

    #include <iostream>
    using namespace std;
    int Add (int x, int y)
    {

    cout << "In Add(), erhalten " << x << " und " << y << "\n";
    return (x+y);
    }

    int main()
    {
    cout << "Ich bin in main()!\n";
    int a, b, c;
    cout << "Geben Sie zwei Zahlen ein: ";
    cin >> a;
    cin >> b;
    cout << "\nAufruf von Add()\n";
    c = Add(a,b);
    cout << "\nZurueck in main().\n";
    cout << "c wurde gesetzt auf " << c;
    cout << "\nBeenden...\n\n";
    return 0;
    }

    ----------------------------------------------------------------------------

    Aber wieso funktioniert es nicht?? Es öffnet sich die Konsole und sie zeigt an "Geben Sie zwei Zahlen ein: " aber wenn ich dann zwei oder x beliebige Zahlen eingebe passiert nichts...
    Was habe ich falsch gemacht? 😕

    MfG,

    Cisco619





  • Naja aber das Fenster bleibt ja offen und der coutbefehl funktioniert ja..anscheinend ist nur die Funktion falsch, da sie ja nicht benutzt wird, sonst müsste das pogramm die einegegeben zahlen ja verarbeiten..tut es ja nicht..Wenn ich das Programm starte verhält es sich ja, als wenn es nur einen "Hallo Welt" code enthalten würde..



  • das programm wird gestartet, ausgeführt und wieder geschlossen, das geht so schnell, das man denkt es passiert nichts;) settzt mal ein breakpoint beim "return" dann hält das programm da an;)



  • CisCo619 schrieb:

    Naja aber das Fenster bleibt ja offen und der coutbefehl funktioniert ja..anscheinend ist nur die Funktion falsch, da sie ja nicht benutzt wird, sonst müsste das pogramm die einegegeben zahlen ja verarbeiten..tut es ja nicht..Wenn ich das Programm starte verhält es sich ja, als wenn es nur einen "Hallo Welt" code enthalten würde..

    also ich seh keinen Fehler und das ausführen hat auch keinen Fehler gezeigt. Wahrscheinlich war deine eingabe falsch. Was gibst du denn ein?



  • Jede Zahl muss mit ein Enter bestätigt werden, falls das Fenster offen bleibt und halt nix passiert..



  • naja wenn ich enter drücke schließt sich das fenster..und von alleine passiert nix, egal welche zahl ich eingebe..



  • Das mit dem Fenster schliessen ist ja auch richtig. Das Programmn ist beendet und das Fenster wird nicth mnehr benoetigt. Dass nach deinem Enter noch ne Ausgabe kam siehst du nur nicht weil das Fenster zu schnell geschlossen wurde 😉
    Siehe dazu auch die Konsolen-FAQ, da gibts mehrere Loesungen fuer das Problem.



  • CisCo619 schrieb:

    naja wenn ich enter drücke schließt sich das fenster..und von alleine passiert nix, egal welche zahl ich eingebe..

    dann solltest du dir vielleicht jetzt den 2. Punkt von
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-151578.html

    anschauen :p



  • oder vor der return anweisung mal ein cin.get() aufrufen.



  • @ Zeus..Danke das hat geholfen.. 🙂

    P.S. : Hab im übrigen selten son hilfsbereites Forum gesehen 😃 Werd mich im Laufe des Tages mal registrieren 😃


Anmelden zum Antworten