C++ Problem mit Primzahlprogramm



  • Hallo,
    und zwar habe ich folgendes Problem: Ich hab in C++ ein Programm geschrieben
    welches mir bei der Eingabe der Zahl X die x. Primzahl ausgeben soll. Das hat
    auch funktioniert, allerdings hab ich nun etwas im Programm geändert (nur noch if Bedingungen hinzugefügt) und auf einmal funkt so gut wie nichts mehr. Wenn ich z.B. als Zahl 100 oder irgendwas anderes eingebe bekomme ich in Codeblocks in der Programmkonsole die Meldung: "Process returned 0 (0x0) usw..."
    Ich habe keine Ahnung woran das liegt. Hattet ihr sowas schon mal?
    Wenn ja wäre ich über eine Antwort ganz froh.
    Ach ja gegooglet hab ich schon und wenn ich das Programm ohne Codeblocks starte wird es nach der Eingabe einfach so beendet.
    Den Code möchte ich nicht so gerne posten, aber wenns nicht anders geht, kann ichs trotzdem machen
    Viele Grüße
    Cyax



  • Ja hatten wir schonmal. 🙂
    Bist nicht der einzige, schwarze Computermagie ist das. Kanne s sein, dass du dein Programm mal an einem Freitag, dem 13. kompiliert hast? Wenn ja, dann ist das eh hoffnungslos, dann ist nichts mehr zu retten.



  • ohne code können wir nicht helfen, denn dort liegt der fehler, nicht bei cb



  • Da wird wohl eine Deiner Bedingungen falsch sein.
    Den Code brauchst Du nicht zu posten: Wenn Du aus Deinem Code ein minimales Beispiel konstruierst, das den Fehler aufweist, hast Du Deinen Fehler schon gefunden.

    Guck Dir Deine Bedingungen an, nimm evtl. alle wieder raus, und füge einzelne wieder ein, bis Du den Fehler lokalisiert hast.

    Good hunting!



  • Danke für die schnellen Antworten...
    Ich habe den Fehler gefunden 🙂
    Lag daran, das ich das ganze mal in einer Funktion drin hatte und aufgrund
    dessen ein sehr wichtiges Goto rausgenommen habe. Als ich das ganze wieder von
    Hand rückgängig gemacht habe, hab ich natürlich vergessen das goto wieder einzufügen 🙄
    Naja, habs jedenfalls wieder drinnen und alles funkt ohne Probleme. 👍 😉
    Viele Grüße
    Cyax



  • Goto...........
    Muss ich mehr sagen?!

    PS: Goto ist einer japanischen Premierminister in der Tom-Clancy Fiktionswelt um Jack Ryan 😉



  • goto hell;
    


  • goto fail;
    

    😉



  • Hey, Dijkstra ist seit fast 12 Jahren tot.


  • Mod

    volkard schrieb:

    Hey, Dijkstra ist seit fast 12 Jahren tot.

    Und dieses Thema hat ihn nicht unter die Erde gebracht.



  • Interessant allerdings, dass auf Quellcodeebene ein goto im Regelfall leichter gelöscht werden kann als eine Schleife. Ein Aspekt, den Dijkstra gar nicht anführt (IIRC).
    Warnen Compiler nicht vor ungenutzten Sprungmarken?

    Ja tun sie! Von daher an den OP auch die Aufforderung alle möglichen Warnungen des Compilers einzuschalten. Z.B. -pedantic -Wall beim gcc.



  • Ja ok,
    ich weiß ja das goto nicht gerade beliebt ist...
    Aber kann man mir dann jemand bitte eine gute alternative nennen?
    Außerdem ist es ja nicht schlimm wenn ich das in meinem Programm habe
    und der Rest dafür hochwertiger ist.
    Cyax



  • while
    for
    break
    continue



  • wie wärs wenn du einfach mal den source postest statt um den heissen brei zu reden? wir haben kp was du willst und was du meinst wenn du hier geheimniskrämerei betreibst. goto ist nur in sehr seltenen fällen leserlicher als die alternativen mit bedingungen (if, else) und schleifen (for, while, do-while).



  • Cyax schrieb:

    Ja ok,
    ich weiß ja das goto nicht gerade beliebt ist...
    Aber kann man mir dann jemand bitte eine gute alternative nennen?

    Oft wird man das goto los, indem man eine innere Schleife in eine Funktion auslagert.



  • Vielen Dank für die Antworten 🙂
    hat sich also alles erledigt.


Log in to reply