Skocz do zawartości
Varqu

Problem z kodem

Rekomendowane odpowiedzi

Ktoś wie dlaczego ten kod nie działa poprawnie? (ma liczyć liczbę słów w pliku tekstowym)

 

#include <iostream>
#include <fstream>
#include <string>


int main(){
    std::string filename;
    std::string line;
    std::cout << "Wprowadz nazwe pliku" << std::endl;
    std::cin >> filename;

    std::ifstream file(filename.c_str());
    unsigned int count;
    while(std::getline(file,line)){
        for(int i = 0;line != '\0';i++){
            if(line== ' ') count++;
        }
        count++;
    }
    std::cout << "Liczba slow wynosi:" << count << std::endl;


}
 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Może zabrakło [] w pętli for jak chcesz przeszukiwać stringa "line"?
W tej chwili zmienna "i" w pętli for nie jest wykorzystana, ot zwiększasz ją ale nie używasz do wyłuskania poszczególnych elementów napisu.

Pomyśl też nad lepszym algorytmem zliczania słów. W tech chwili to widzę, że będą zliczane spacje i entery, jak w tekście pojawią się wielokrotne, to źle ci policzy.

Na forum warto kod wklejać w tagi code - na pasku manu < >
Można tam wybrać język i składnia będzie podświetlana, wcięcia zachowane. Przy większych programach będzie łatwiej czytać.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...