Zum anfang hüpfen



  • Hallo,

    unter Batch Programmieren kann man so zum anfang springen

    @echo off
    :start
    echo wiederholung
    goto start

    wie kann ich das in C machen ?

    if (x == 1)
      {
               HIER ZUM ANFANG DES PROGRAMMES HÜPFEN
    
      }
    


  • Ist vllt nicht die schönste Lösung aber:

    main(){
          start:
          if(x == 1){
          goto start;
          }
    }
    

    so könnte man das machen



  • Mit Schleifen kann man an sich alles erreichen (da es ja auch meist eine Bedingung für das Springen gibt):

    int main(int argc, char** argv)
    {
        int a = 0;
        while (a < 10) // Ja, das ginge auch mit for
        {
            mache_was();
            a++;
        }
        return 0;
    }
    

    goto ist so unschön.



  • Es gibt auch eine Möglichkeit ohne goto.
    Man kann ganz einfach die funktion main() nochmal aufrufen:

    #include <iostream>
    using namespace std;
    int main()
    {
        cout<<"nochmal?(1 = JA, 2 = NEIN)"<<endl;
        int nochmal;
        cin>>nochmal;
        if (nochmal == 1)
        {
             main();
             return 0;
        }    
        cout<<"Das wars, auf Wiedersehen!!"<<endl;
        return 0;
    }
    


  • Sabjosu schrieb:

    Es gibt auch eine Möglichkeit ohne goto.
    Man kann ganz einfach die funktion main() nochmal aufrufen:

    DAS solltest du lieber nicht machen. main() ist etwas ganz besonderes in C(++) und sollte möglichst nicht "von innen" aufgerufen werden. Außerdem ist die Lösung mit 'ner Schleife sowieso eleganter.


Anmelden zum Antworten