Es wird immer eine 0 zurückgeliefert



  • und tu die verdammten gotos weg... das brauch keine Sau, insbesondere nicht in deinem Anwendungsfall 🙂



  • ich weiß ich weiß, die gotos sind hässlich und ich mag sie auch nicht, aber unser prof wollte, dass wir das auch einbauen...er meinte, wir sollen versuchen, alle konzepte einzubauen, die wir an dem tag gelernt haben(ist ein blockkurs c++) und da haben wir halt goto, switch, if, while usw. gelernt. 🙄



  • lil_pingu schrieb:

    ich weiß ich weiß, die gotos sind hässlich und ich mag sie auch nicht, aber unser prof wollte, dass wir das auch einbauen...er meinte, wir sollen versuchen, alle konzepte einzubauen, die wir an dem tag gelernt haben(ist ein blockkurs c++) und da haben wir halt goto, switch, if, while usw. gelernt. 🙄

    wenn du while gelernt hast, wirst du auch do-while gelernt haben: also nimm die schleife... sonst hast du die nämlich auch nicht verwendet - und goto braucht man in C++ einfach so gut wie nie - brauchst also auch nicht lernen, wie man es verwendet...

    bb



  • unskilled schrieb:

    brauchst also auch nicht lernen, wie man es verwendet...

    Och.. das würde ich so nicht sagen. Ich finde es lohnt sich durchaus das Konzept zu kennen und zu wissen, warum man es nicht übermässig einsetzen sollte. Und es ist ja nicht gerade viel Aufwand das zu "lernen" und wenn man es mal wirklich braucht, dann weiss man wenigstens, dass es auch noch goto gibt.

    Wenn ich goto wirklich brauche (was in der Tat nicht oft ist), dann ist es doch ein ganz nütztliches Sprachfeature.



  • Wenn ich allerdings von meinem Lehrer höre, dass ich das, was wir in der letzten Stunde gelernt haben, nutze (und wir hatten auch schleifen), kann ich mir kaum vorstellen, dass er die Lösung mit label/goto toller findet als die mit do/while...

    Ich hab bisher nur einmal goto gesehen, wo ich fand, dass es ne Erleichterung war und so - hatte volkard glaub mal in irgend ner Fkt genommen, die mit irgendwelchen C-APIs arbeitet...

    {
      R1 a = get_funky_stuff();
      if(a == R1_ERROR_CODE)
        goto end;
    
      R2 b = get_very_funky_stuff(a);
      if(b == R2_ERROR_CODE)
        goto free_funky;
    
      R3 c = get_incredible_stuff(b);
      if(c == R3_ERROR_CODE)
        goto free_very_funky;
    
      /*...*/
    
      free_incredible_stuff(c);
     very_free_funky:
      free_very_funky_stuff(b);
     free_funky:
      free_funky_stuff(a);
     end:
    }
    

    bb



  • unskilled schrieb:

    Wenn ich allerdings von meinem Lehrer höre, dass ich das, was wir in der letzten Stunde gelernt haben, nutze (und wir hatten auch schleifen), kann ich mir kaum vorstellen, dass er die Lösung mit label/goto toller findet als die mit do/while...

    Habe ich jetzt rein grammatisch nicht ganz verstanden, aber ich wollte nur sagen, dass man sich die 5 Minuten, die es braucht goto zu begreifen ruhig nehmen sollte, weil es durchaus Sinn machen kann und dann ist man froh. Aber man sollte sich dann auch die 20 Minuten nehmen und darüber nachdenken, warum in den meisten Fällen ein goto eben Fehl am Platze ist.



  • unskilled schrieb:

    Wenn ich allerdings von meinem Lehrer höre, dass ich das, was wir in der letzten Stunde gelernt haben, nutzen sollen (und wir hatten auch schleifen), kann ich mir kaum vorstellen, dass er [der lehrer] die Lösung mit label/goto toller findet als die mit do/while...

    "Habe ich jetzt rein grammatisch nicht ganz verstanden"
    jopp, sry - da fehlten 2 wörter 😃 naja, das mit dem nachdenken ist manchmal... komisch 😉

    drakon schrieb:

    [...]aber ich wollte nur sagen, dass man sich die 5 Minuten, die es braucht goto zu begreifen ruhig nehmen sollte, weil es durchaus Sinn machen kann und dann ist man froh. Aber man sollte sich dann auch die 20 Minuten nehmen und darüber nachdenken, warum in den meisten Fällen ein goto eben Fehl am Platze ist.

    ok - da kann ich mitgehen

    bb



  • Ahh.. so macht das natürlich mehr Sinn. 😉



  • drakon schrieb:

    Ahh.. so macht das natürlich mehr Sinn. 😉

    mir war doch so 😉
    gn8^^



  • deshalb nutze ich bei so einem if gefrickel auch immer gerne trotzdem noch die Klammern, ich weiß ich finde das übersichtlicher. und die 4. if-klausel ist etwas
    "zu eng".
    gehört zur Übersichtlichkeit genauso wie goto, auch wenn goto noch Fehler hervorrufen kann. Bla Bla goto, darüber wurde SOOOOOOO oft diskutiert und das resultat IMMER: NEIN also keine Begründungen bla bla, ist einfach mist (Punkt)



  • Ich programmiere in Scheme, it is the ultimate goto 🙂 LAMBDA: The Ultimate GOTO Dort wird das Konzept kritisiert, aber nicht das Sprachkonstrukt. Aber es gibt meist auch bessere Alternativen in Hochsprachen als goto.



  • Du solltest auch die Variablentypen, mit denen du rechnest, auf double umstellen, damit die Division vernünftig funktioniert.


Anmelden zum Antworten