Ankündigung

Einklappen
Keine Ankündigung bisher.

C++; return 0

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • C++; return 0

    hallo,

    ich hab kürzlich mit c++ angefangen und kam dann mal zu

    return 0;

    für was wird dieser befehl gebraucht ihc raff die beschreibung ned die im buch steht.

    thx

  • #2
    Hoi

    Mit "return" kannst Du einen konstanten Wert wie z. B. "0", oder den Wert einer Variablen aus einer Methode oder Funktion zurückgeben.
    Die "main" Funktion gibt immer 0 oder im Fehlerfall > 0 zurueck. Das ist dann interessant, wenn man das eigene Programm innerhalb eines Shellskript laufen lässt.


    // Beispiel
    #include <iostream>
    using namespace std;

    int myFunc() { return 1; }

    int main(int argc, char* argv[]) {
    int zurueckgegebenerWert = myFunc();
    cout << "myFunc() gab folgender Wert zurueck " << zurueckgegebenerWert << endl;
    return 0;
    }

    Kommentar


    • #3
      hallo,

      danke für die antwort, ganz klar ist es mir aber noch ned


      #include <iostream.h>

      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 <<"\n Aufruf von Add()\n";
      c=Add(a,b);
      cout <<"Zurueck in main().\n";
      cout <<"c wurde gesetzt auf " <<c;
      cout <<"\nBeenden ...\n\n";
      return 0
      }

      wieso muss ich dass in return schreiben und kann für die ausgabe nicht cout benutzen

      Kommentar


      • #4
        Weil int Add(int X, int Y)
        eine Funktion mit Rückgabeparameter ist.
        Du gibst das ergebnis von Add ja mit return x+y zurück an die aufrufende Funktion zurück, in diesem Fall an Main.

        @all
        gibt es in C++ keinen Void returnparam?

        grz zer00
        Zuletzt geändert von zer00; 04.10.2005, 17:13.

        Kommentar


        • #5
          thx @ zer00

          denke ich habs verstanden

          Kommentar


          • #6
            Original geschrieben von das_boot
            thx @ zer00

            denke ich habs verstanden
            Ok, dann kanns ja weiter gehen mit C++

            grz zer00

            Kommentar


            • #7
              sry hab nochmals ne frage betrifft nicht return

              beim code hier



              #include <iostream.h>



              int eingabeBereich (int x, int y, int g)
              {

              g = x + y;
              cout <<"Sie haben eingegeben\n" <<x <<" und " <<y <<"\n" <<"das gibt " <<g <<"\n";
              return g;



              }

              int main()
              {
              int a;
              int b;
              int c;
              int d;
              cout <<"Hallo, wir brauchen Ihre Zahlen geben sie bitte zwei Zahlen ein\n";
              cout <<"Die erste bitte\n";
              cin >>a;
              cout <<"Jetzt bitte die zweite Zahl\n";
              cin >>b;
              c = eingabeBereich(a,b,d);
              cout <<"Normales c " <<c <<"\n";
              cout <<"hier ist c++ "<<c++ <<"\n";
              cout <<"hier ist ++c " <<++c <<"\n";
              return 0;

              }

              hab ich wie ihr sehen könnt ein int d aber ich weise nichts dem d zu.
              jedoch muss ich dass stehen lassen da sonst der compiler sagt es seien zu wenige definitionen im int eingabeBereich

              hat jemand ne ahnung wie ich dass anders machen könnte,
              ist so ein selbstegeschribenes "programm" daher kann ich schlecht nachschauen.

              thx 'n' greez

              Kommentar


              • #8
                Wieso definierst Du in der Func
                i</font><blockquote><pre><font face="verdana,arial,helvetica" size="1"class="sf">code:</font><hr>int eingabeBereich (int x, int y, int g)<hr></pre></blockquote><font face="verdana, arial, helvetica" size="2"class="nf"><br />
                drei Parameter und gibst beim aufruf aber nur zwei Parameter an, die mit Werten initialisiert sind?
                </font><blockquote><pre><font face="verdana,arial,helvetica" size="1"class="sf">code:</font><hr> c = eingabeBereich(a,b,d);<hr></pre></blockquote><font face="verdana, arial, helvetica" size="2"class="nf"><br />

                int g kannst Du ja auch als lokale Variable definieren.

                grz zer00
                Zuletzt geändert von zer00; 05.10.2005, 12:27.

                Kommentar


                • #9
                  Original geschrieben von das_boot
                  sry hab nochmals ne frage betrifft nicht return

                  beim code hier



                  #include <iostream.h>



                  int eingabeBereich (int x, int y, int g)
                  {

                  g = x + y;
                  cout <<"Sie haben eingegeben\n" <<x <<" und " <<y <<"\n" <<"das gibt " <<g <<"\n";
                  return g;



                  }

                  int main()
                  {
                  int a;
                  int b;
                  int c;
                  int d;
                  cout <<"Hallo, wir brauchen Ihre Zahlen geben sie bitte zwei Zahlen ein\n";
                  cout <<"Die erste bitte\n";
                  cin >>a;
                  cout <<"Jetzt bitte die zweite Zahl\n";
                  cin >>b;
                  c = eingabeBereich(a,b,d);
                  cout <<"Normales c " <<c <<"\n";
                  cout <<"hier ist c++ "<<c++ <<"\n";
                  cout <<"hier ist ++c " <<++c <<"\n";
                  return 0;

                  }

                  hab ich wie ihr sehen könnt ein int d aber ich weise nichts dem d zu.
                  jedoch muss ich dass stehen lassen da sonst der compiler sagt es seien zu wenige definitionen im int eingabeBereich

                  hat jemand ne ahnung wie ich dass anders machen könnte,
                  ist so ein selbstegeschribenes "programm" daher kann ich schlecht nachschauen.

                  thx 'n' greez
                  du hast da ja folgendes stehen:

                  <b>c = eingabeBereich(a,b,d);</b>

                  da kommt das 'd' als Variable vor darum muss sie auch definiert sein.
                  Smash your head on keyboard to continue...

                  Kommentar


                  • #10
                    ja das ist klar. sry hab mich vll ein bisschen ungenau ausgedrückt.

                    #include <iostream.h>



                    int eingabeBereich (int x, int y, int g)
                    {

                    g = x + y;
                    cout <<"Sie haben eingegeben\n" <<x <<" und " <<y <<"\n" <<"das gibt " <<g <<"\n";
                    return g;



                    }

                    int main()
                    {
                    int a;
                    int b;
                    int c;
                    int d;
                    cout <<"Hallo, wir brauchen Ihre Zahlen geben sie bitte zwei Zahlen ein\n";
                    cout <<"Die erste bitte\n";
                    cin >>a;
                    cout <<"Jetzt bitte die zweite Zahl\n";
                    cin >>b;
                    c = eingabeBereich(a,b,d);
                    cout <<"Normales c " <<c <<"\n";
                    cout <<"hier ist c++ "<<c++ <<"\n";
                    cout <<"hier ist ++c " <<++c <<"\n";
                    return 0;

                    }
                    also wenn ich die variable d weglasse also ganz(kein int d und kein (...d). dann steht da dass in zeile 6 ({ unter int eingabeBereich) zuwenig oder zuviel argumente sind.
                    also um genau zu sein steht da "too few arguments to function 'int eingabeBereich(int,int,int)'

                    greez

                    Kommentar


                    • #11
                      so ich glaub ich habs geschaft

                      Code:
                      #include <iostream.h>
                      
                      
                      
                      int eingabeBereich (int x, int y)
                      {
                          int g;   
                          g = x + y;
                          cout <<"Sie haben eingegeben\n" <<x <<" und " <<y <<"\n" <<"das gibt " <<g <<"\n";
                          return g;
                          
                         
                          
                      }
                      
                      int main()
                      {
                          int a;
                          int b;
                          int c;
                          //int d;
                          cout <<"Hallo, wir brauchen Ihre Zahlen geben sie bitte zwei Zahlen ein\n";
                          cout <<"Die erste bitte\n";
                          cin >>a;
                          cout <<"Jetzt bitte die zweite Zahl\n";
                          cin >>b;
                          c = eingabeBereich(a,b);
                          cout <<"Normales c " <<c <<"\n";
                          cout <<"hier ist c++ "<<c++ <<"\n";
                          cout <<"hier ist ++c "  <<++c <<"\n";
                          return 0;
                          
                      }
                      eine weitere frage hab ich noch

                      stimmt das, dass bei c++ 12 und bei ++c 14 ausgegeben wird.
                      sollte bei c++ nicht 13 kommen?
                      Zuletzt geändert von das_boot; 05.10.2005, 13:57.

                      Kommentar


                      • #12
                        Nein, die Ausgabe ist richtig. Zuerst wird ein Postinkrement gemacht, dabei wird zuerst der alte Wert (12) ausgegeben und danach um eins inkrementiert (13). Danach wird mit ++c ein Preinkrement gemacht, d.h. der Wert in c wird vor der Ausgabe um eins erhoeht (14).

                        Kommentar


                        • #13
                          Original geschrieben von zer00
                          Weil int Add(int X, int Y)
                          eine Funktion mit Rückgabeparameter ist.
                          Du gibst das ergebnis von Add ja mit return x+y zurück an die aufrufende Funktion zurück, in diesem Fall an Main.

                          @all
                          gibt es in C++ keinen Void returnparam?

                          grz zer00
                          Klar...du setzt halt fir int main einfach void main ein, musst dann aber anstatt return(0)
                          getch(); dranhängen,ist eine Art Pause für die Konsole...

                          MFG


                          ZeroX

                          Kommentar


                          • #14
                            @das_boot
                            kleine Frage an dich, welches Buch hast du denn?
                            Will mich auch mal hinter C++ setzen, sofern ich wiedermal n bisschen Zeit hab. Nur fehlt mir bisher noch ne gute Lektüre dazu
                            So geht die Freiheit zu Grunde... mit donnerndem Applaus...

                            Kommentar


                            • #15
                              wenn ich mich mal einmischen darf ^^

                              Ich habe es mit "In 21 Tagen C++" gelernt,
                              wobei hier aber nur die Konsolenprogrammierung geschult wird.

                              Das Buch ist echt gut, vom Verlag "Markt und Technik".

                              Empfehlenswert..!!

                              Wenn du aber lieber mit einer OOP programmieren willst, sprich mir GUI dann gibt es eine Reihe von "Jetzt lerne ich"
                              Da kannst du dich dann ja mal umschauen...

                              Viel Spaß dabei!

                              MFG

                              ZeroX

                              Kommentar

                              Lädt...
                              X