Program nie działa poprawnie

0

Siemka mam tutaj program, który liczy liczbę słów w pliku tekstowym jednak nie działa poprawnie i nie wiem gdzie leży błąd.

#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[i] != '\0';i++){
            if(line[i]== ' ') count++;
        }
        count++;
    }
    std::cout << "Liczba slow wynosi:" << count << std::endl;
}
1

Zdefiniuj „nie działa poprawnie” — to naprawdę ułatwia udzielanie odpowiedzi. Co konkretnie się dzieje? Program się nie kompiluje? Z jakim błędem? Wysypuje podczas działania? Z jakim błędem? Zwraca złe rozwiązanie? Dla jakich danych wejściowych?

0

A więc tak utworzyłem plik hej.txt, w którym jest tekst "siema co tam u ciebie slychac". Po uruchomieniu programu i wpisaniu hej.txt, program daje wynik "Liczba slow wynosi:7208686

3

count jest niezainicjalizowane.

0

Dzięki, rzeczywiście :D

3
unsigned count=0;
string word;
while(file>>word) ++count;

abc def ghi. - 3 słowa zaś 2 spacji.

3

Albo bardziej złośliwie 2 słowa a spacji dużo więcej

      a       b        

1 użytkowników online, w tym zalogowanych: 0, gości: 1