Problem



  • Hallo!
    Ich bin noch Anfänger im programmieren.
    Ich habe folgendes Problem:
    Eine Variable soll hochgezählt werden, erst mit einer For-Schleife, dann While-schleife und dann Do-While-Schleife.
    Beispiel:

    #include<iostream.h>
    #include<conio.h>
    
    int main ()
    {
     int i = 1;
     for ( i=0; i< 10; i++)
     {
      cout<< "Forschleife" <<endl;
     }
    
      while (i < 10)
     {
      cout << "Whileschleife" << i++ <<endl;
     }
    getch();
    }
    

    Frage: Wenn er aus der For-Schleife rausgeht, ist i = 10
    Wie macht man das, dass i wieder zurückgesetzt wird, so dass das mit der While-Schleife auch funktioniert?

    /edit: mit Code Tags sieht das gleich viel schöner aus 😉



  • indem du nach der forschleife i wieder auf 0 setzt.
    warum initialisiert du i mit 1 wenn du es dann in der forschleife sowieso auf 0 setzt?



  • Hallo,

    du musst 'i' eben wieder zuruecksetzen 😉

    #include<iostream>
    #include<conio.h>
    
    int main ()
    {
       int i = 1;
    
          for ( i=0; i< 10; i++)
             std::cout<< "Forschleife" <<endl;
    
          i = 0;
    
          while (i < 10)
             std::cout << "Whileschleife" << i++ <<endl;
    
          getch();
    
       return 0;
    }
    

    mfg
    v R



  • Hi,

    oder man verwendet gleich einen standardkonformen Compiler. (oder macht ein #define for() ... um den Bug zu beheben)

    ChrisM



  • ChrisM: Was für ein Bug? 🙂 Guck nochmal hin.



  • ChrisM meint wohl nicht vRs Code sondern den VC++-Bug der zur Folge hat dass man hier nicht einfach zweimal nacheinander i jeweils erst im Schleifenkopf definieren kann. 🙂



  • nman schrieb:

    ChrisM meint wohl nicht vRs Code sondern den VC++-Bug der zur Folge hat dass man hier nicht einfach zweimal nacheinander i jeweils erst im Schleifenkopf definieren kann. 🙂

    Kommt aber auf die Version an, die man benutzt. Die 6., die bei uns an der FH benutzt wird hat das Problem mit der for-Schleife. Ich hab Zuhause ne 6. Autoren-Version da geht das wiederrum und bie der .net funktioniert das auch.



  • nman schrieb:

    ChrisM meint wohl nicht vRs Code sondern den VC++-Bug

    Ich weiß, welchen er meint. Aber hier wird nirgends eine Variable im Kopf der for-Schleife definiert.



  • Bashar schrieb:

    Ich weiß, welchen er meint. Aber hier wird nirgends eine Variable im Kopf der for-Schleife definiert.

    Ist mir klar, dennoch hätte man das so lösen können und ich gehe davon aus dass er das ChrisM das meinte, aber es bringt ohnehin nichts wenn wir hier heruminterpretieren was er gemeint haben könnte... 🙂



  • Online schrieb:

    Kommt aber auf die Version an, die man benutzt. Die 6., die bei uns an der FH benutzt wird hat das Problem mit der for-Schleife. Ich hab Zuhause ne 6. Autoren-Version da geht das wiederrum und bie der .net funktioniert das auch.

    Bei VS.NET kann man das zum Glück unter Settings umstellen. Musste bei der Arbeit neulich alten Code von einem Kollegen in mein Projekt einbauen. Wenn ich da nicht die Möglichkeit gehabt hätte die for-Schleifenbehandlung auf nicht-ANSI zu stellen dann hätte ich mich dumm und dusselig geändert 😉 .


Anmelden zum Antworten