Einmalige Schleifenanfrage



  • Hallo alle zusammen!

    Wenn ich eine Schleife habe und in dieser Schleife soll nur einmal was abgefragt werden, geht das dann nur mit ifdef oder gibt es da noch was anderes? Vielen Dank für Eure Hilfe!

    Susi 😞



  • Ich nehme an es handelt sich um eine while oder for schleife.
    Da kannst du dann mit break; rausspringen, sprich

    if(Deinebedingung == true)
    {
      Machwas;
      break;
    }
    


  • if/else?



  • Wenn nur einmal was abgefragt werden soll (z.B. weil es nur für das erste/letzte Element relevant ist), gehört es eigentlich nicht in die Schleife rein. Mach deine Abfrage z.B. für das erste Element vor der Schleife und lauf dann ab dem zweiten weiter.



  • Erst mal vielen Dank!

    War vielleicht etwas falsch formuliert, also ich programmiere mit dem Borland c++ Builder 6, wenn ich also auf der Oberfläche ein knopf habe und drauf drücke sollen zwei Dinge passieren, das erste Ereignis allerdins nur beim ersten Aufruf! Versteht ihr was ich meine, natürlich könnte ich jetzt auch ein neue Variable deklariern und mit einer if-Abfrage schauen ob sie gesetzt ist, usw...

    Dachte da gibts vielleicht auch was anderes???

    Gruss Susi



  • Leg einfach eine boolesche Variable an.
    Bei true wird die eine Verarbeitung durchgeführt, bei false die andere

    bool b = false;
    
    void MyFunc()
    {
       if(b)
       {
          // Code
       }
       else
       {
          // anderer Code
       }
    
       b = !b;
    
    }
    

    Die letzte Anweisung ist wie ein Schalter, der b jedesmal in den anderen Zustand versetzt 😉



  • Ja, vielen Dank, so hab ich es jetzt auch letztendlich gemacht! Zwar nur mit einer int-Variablen, aber das änder ich noch ab!

    Das mit dem hin und her schalten brauche ich gar nicht, Code 1 soll ja nur beim ersten Durchgang durchgeführt werden! Also nur

    bool b = true;
    
    void MyFunc()
    {
       if(b)
       {
          // Code
          b = false;
    
       }
       // anderer Code
    
    }
    

    Viele Grüße, Susi



  • Die globale Variable ist aber unnötig. Ich würde b static machen.


Anmelden zum Antworten