aboutsummaryrefslogtreecommitdiff
path: root/week06/Exercise05.cpp
blob: f677043e67a0a7b0199b6d8e983427bb0580c19c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <fstream>
#include <iostream>

int main() {
	char fileName[1024];
	std::cin.getline(fileName, 1024);

	std::ifstream file(fileName);
	if (!file.is_open()) {
		std::cout << "Couldn't open file!" << std::endl;
		return 1;
	}

	unsigned lines = 0;
	unsigned words = 0;
	char prev = '\0';

	while (!file.eof()) {
		if (file.peek() == '\n') {
			lines++;
		}
		if ((prev == ' ' || prev == '\t' || prev == '\n') && file.peek() != ' ' && file.peek() != '\t' && file.peek() != '\n') {
			words++;
		}

		prev = file.get();
	}
	file.close();

	std::cout << lines << " " << words << std::endl;
}