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

Losowanie linii z pliku txt

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
960 wizyt
pytanie zadane 8 stycznia 2018 w C i C++ przez Perseusz Bywalec (2,190 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,190 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 704 wizyt
pytanie zadane 12 lutego 2018 w C i C++ przez Shiro Stary wyjadacz (10,300 p.)
+1 głos
2 odpowiedzi 695 wizyt
pytanie zadane 5 listopada 2017 w C i C++ przez paweljumper Obywatel (1,260 p.)
0 głosów
0 odpowiedzi 340 wizyt

93,103 zapytań

142,079 odpowiedzi

321,591 komentarzy

62,445 pasjonatów

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...