diff options
Diffstat (limited to 'week06/Exercise05.cpp')
| -rw-r--r-- | week06/Exercise05.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/week06/Exercise05.cpp b/week06/Exercise05.cpp new file mode 100644 index 0000000..f677043 --- /dev/null +++ b/week06/Exercise05.cpp @@ -0,0 +1,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; +} |
