Hangman



  • @David: Wenn du jetzt noch statt des char[] einen std:string verwendest, ist der Ansatz perfekt 😉



  • Wie du wünschst! 🙂

    std::string buffer;
    
    while ( getline( in, buffer ) ) 
    {    
    	frageListe.push_back( buffer ); 
    }
    


  • also ich habs jetz so gemacht :

    string h;
        ifstream f("Datei.txt");
        if(f)
        {
        getline(f,h);
        f.close();     
    
        }
    

    dann leg ich nur noch die "Datei.txt" an und fertig.

    allerdings weiß ich jetz nich wie ich mir zufällig einen string aus der .txt datei nehme, da immer nur die erste Zeile gelesen wird.



  • Weil du den Stream nach dem Einlesen der ersten Zeile wieder schließt 😉

    getline() liest eine Zeile. Also musst du in einer Schleife so lange Zeilen auslesen, bis deine Datei zu Ende ist. Und erst dann f.close() aufrufen.



  • und wie mache ich der schleife klar wieviele strings meine datei hat ?



  • Wer lesen kann ist klar im Vorteil... 😃



  • Nimm doch die Schleife von David, die liest so lange weiter, bis die Datei zu Ende ist. (ein Vorteil von STL-Containern ist, daß sie mitwachsen können ;))

    Anschließend kannst du per rand() (o.ä.) einen Index aus deinem Array auswählen und als Ratewort verwenden.



  • so ich hab jetzt eine funktion die die zeilen alle einliest und mir dann einen zufälligen string übergibt.

    jetzt bleibt noch die frage:

    wie zähle ich die zeilen in der .txt datei ?

    dann brauche ich nämlich nicht immer die zahlen umzuändern, sondern nur die strings in der .txt datei .

    geht das überhaupt ?



  • Wie meinst du das?

    Wenn du die Datei zeilenweise einliest, kannst du ja einen Counter mitzählen lassen. Dann hast du die Anzahl der Zeilen.



  • Bonzy schrieb:

    so ich hab jetzt eine funktion die die zeilen alle einliest und mir dann einen zufälligen string übergibt.

    jetzt bleibt noch die frage:

    wie zähle ich die zeilen in der .txt datei ?

    dann brauche ich nämlich nicht immer die zahlen umzuändern, sondern nur die strings in der .txt datei .

    Am besten liest du die komplette Datei GENAU EINMAL ein und speicherst alle Werte in einem vector<> (siehe oben), dann kannst du über "frageListe.size()" die Anzahl der Suchworte und über "frageListe[i]" das i-te Wort deiner Liste erreichen.


Anmelden zum Antworten