• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Losowanie linii z pliku txt

0 głosów
1,064 wizyt
pytanie zadane 8 stycznia 2018 w C i C++ przez Perseusz Bywalec (2,180 p.)

Witam, otóż zmagam się z trywialnym można by rzec dla doświadczonych programistów problemem,

no bo dopiero się uczę i chciałem zrobić zmienną, która pobiera wylosowaną linijkę z pliku txt. 

Próbowałem paroma podobnymi sposobami (głupi je usunąłem, ale i tak wszystkie nie działały - taki sam efekt)

Może używam złej funkcji czy coś? Dzięki z górylaugh ... no i tak funkcja sama w sobie działa - moja pierwszasmiley

{
srand(time(NULL));

int los = 0;
int ile = 0;
fstream wiersze;
string wers;
string zdanie;

    wiersze.open("Zdania.txt",ios::in);

    while (getline(wiersze,wers))ile++; // to mialo liczyc wiersze (dziala)
    los = rand()%ile+1; //to daje losowa liczbe z policzonej ilosci (dziala)
    for (int i=1; i<=los; i++) //zalozylem tak: petla bedzie sie powtarzac dopoki nie bedzie wieksza/rowna 
    getline(wiersze,wers); //wylosowanej i za kazdym razem wersowi zostanie przypisany nowy wers
    
    cout << wers; //zawsze wyswietla ostatni wers z 3

    wiersze.close();

return (los);
}

 

1 odpowiedź

+1 głos
odpowiedź 8 stycznia 2018 przez Eryk Andrzejewski Mędrzec (164,260 p.)
W pętli while wczytałeś już wszystkie linie z pliku, więc jeśli chcesz je wczytywać od nowa, to zamknij plik i otwórz go ponownie (lub użyj metody seekg z parametrem 0, aby wrócić na początek pliku).

Możesz też skorzystać z tablicy lub wektora, wczytać do niego plik,  linia po linii, a następnie wylosować określony element.
komentarz 8 stycznia 2018 przez Perseusz Bywalec (2,180 p.)

Dzięki wielkie!laugh  całe popołudnie wczoraj sie z tym męczyłem

Widać mam jeszcze za małe pojęcie o działaniu programów...

"zamknij" i "otwórz" działa 

seekg i użycie tablic zgłębię jeszcze bo w moim programiku sie pewnie przydadzą

dzięki! :)

Podobne pytania

0 głosów
4 odpowiedzi 890 wizyt
pytanie zadane 12 lutego 2018 w C i C++ przez Shiro Stary wyjadacz (10,300 p.)
+1 głos
2 odpowiedzi 834 wizyt
pytanie zadane 5 listopada 2017 w C i C++ przez paweljumper Obywatel (1,260 p.)
0 głosów
0 odpowiedzi 387 wizyt

93,631 zapytań

142,553 odpowiedzi

323,056 komentarzy

63,138 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2658p. - dia-Chann
  2. 2630p. - DziarnowskiJ
  3. 2550p. - raydeal
  4. 2478p. - rucin93
  5. 2361p. - Łukasz Piwowar
  6. 2348p. - Łukasz Eckert
  7. 2340p. - CC PL
  8. 2300p. - Adrian Wieprzkowicz
  9. 2082p. - Michal Drewniak
  10. 1957p. - Maurycy W
  11. 1885p. - robwarsz
  12. 1811p. - rafalszastok
  13. 1600p. - Rafał Trójniak
  14. 1588p. - Tomasz Bielak
  15. 1494p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...