Schleife wird nicht genommen



  • Ich als Vollnoob hab mich mal an nem kleinen Programm versucht:

    #include <iostream.h>
    #include <conio.h>

    void main(void)

    //Variablendefinition

    {
    char vorname[10] ;
    char nachname[10] ;
    int Counter;
    for(Counter=1;5;Counter=Counter+1);

    cout<<"Bitte geben Sie ihren Vornamen ein:"<<endl;

    cin>>vorname;

    cout<<"Bitte geben Sie ihren Nachnamen ein:"<<endl;

    cin>>nachname;

    cout<<" "<<endl;

    cout<<"---------------------------------------------------------------------"<<endl;

    cout<<" "<<endl;

    cout<<"Ihre Daten nocheinmal im Ueberblick:"<<endl;

    cout<<" "<<endl;

    cout<<"Ihr Vorname: "<<vorname<<endl;
    cout<<"Ihr Nachname: "<<nachname<<endl;

    getch();

    }

    Das Problem ist jetzt, dass wenn ich das Programm mit einer Schleife (wie in dem Code) starten will (egal ob for oder while), dann startet das Programm nicht. Sobald ich aber die Schleife wieder heraus nehme, klappt alles wunderbar.

    Was mache ich falsch?



  • Zunächst einmal heißt es "int main". Darüber hinaus macht deine Schleife ja was. Nur nicht das was sie soll.

    Benutze Klammerungen:

    for(int i = 0; i < 100; ++i) {
      // Mach was
    }
    

    Und lass um Himmels Willen das Semikolon hinter der Schleife weg. Es sei denn du weißt was du tust 😉 .



  • #include <iostream.h>
    #include <conio.h> 
    
    void main(void) 
    
    //Variablendefinition 
    
    { 
    char vorname[10] ; 
    char nachname[10] ; 
    int Counter; 
    for(Counter=1;Counter<5; Counter++);
    
    cout<<"Bitte geben Sie ihren Vornamen ein:"<<endl; 
    
    cin>>vorname; 
    
    cout<<"Bitte geben Sie ihren Nachnamen ein:"<<endl; 
    
    cin>>nachname; 
    
    cout<<" "<<endl; 
    
    cout<<"---------------------------------------------------------------------"<<endl; 
    
    cout<<" "<<endl; 
    
    cout<<"Ihre Daten nocheinmal im Ueberblick:"<<endl; 
    
    cout<<" "<<endl; 
    
    cout<<"Ihr Vorname: "<<vorname<<endl; 
    cout<<"Ihr Nachname: "<<nachname<<endl; 
    
    getch();
    
    }
    

    Du solltest Dir nocheinmal das Kapitel für Schleifen durchlesen.

    Ausserdem kommt hinter einer Schleife kein Semikölon.



  • NoPro schrieb:

    Ausserdem kommt hinter einer Schleife kein Semikölon.

    Wieso? Völlig legal aber meist eine fehlerquelle wenn nicht beabsichtigt (siehe oben). Sowas ist aber ok, wenn auch unübersichtlich, da manche Leute dazu neigen extrem zu werden:

    // Berechne 2^10
    int j = 1;
    for(int i = 0; i < 10; ++i, j *= 2);
    

    Als Anfänger sollte man erst Recht die Finger davon lassen...



  • Ihr solltet euch was schämen!

    #include <iostream.h> und void main(void)! IHR ELENDEN BARBAREN!!! Habt ihr denn keine Würde mehr :D:D:D



  • @Mastah

    Fein, wieder was gelernt.

    @derSarge

    Bei der Ausgabe von Strings, würde ich lieber "gets()" als cout verweden, weil
    cout mit den Leerzeichen nicht klar kommt.



  • df schrieb:

    Bei der Ausgabe von Strings, würde ich lieber "gets()" als cout verweden, weil cout mit den Leerzeichen nicht klar kommt.

    ich würde ungern gets mit cin mschen. aber vielleicht könnte man mit getline und cin auch leerzeichen einlesen.


Anmelden zum Antworten