Advertisement
R0M41K

readingfile

Jun 1st, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <windows.h>
  4. using namespace std;
  5.  
  6. void SetColor(int text, int background = 0) //Створюємо функцію заміни кольору консолі
  7. {
  8. HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
  9. SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
  10. }
  11.  
  12. int main()
  13. {
  14. SetColor(7); //ставимо білий колір тексту
  15. ifstream fin; //оголошуємо змінну типу ifstream (роботи з текстовим файлом)
  16. char ch; //оголошуємо символьну змінну
  17. int n = 0, sentences = 0; //оголошуємо цілочисельні змінні для підрахунку речень
  18. fin.open("text.txt"); //відкриваємо файл
  19. if (!fin.is_open()) { cout << "Помилка відкриття файлу!"; } //перевіряєм чи корректно відкрився файл
  20. else
  21. {
  22. cout << "Розмір \"text.txt\" : " ;
  23. fin.seekg(0, ios::end); //переміщаємо вказівник get в кінець файлу
  24. cout << fin.tellg() << " bytes" << endl; //виводимо позицію вказівника (дізнаємся скільки байтів у файлі)
  25. fin.seekg(0, ios::beg); //переміщаєм вказівник назад
  26. while (fin.get(ch)) { //цикл, що рахує к-сть речень
  27. if (ch == '.') sentences++;
  28. }
  29. cout << "Кількість речень : " << sentences << endl << endl;
  30. fin.close();
  31. fin.open("text.txt");
  32. SetColor(2);
  33. while (fin.get(ch)) { //цикл, що виводитиме в консоль текст з файлу
  34. if (ch == '\n') continue; //пропуск переходів на наступний рядрк
  35. if (ch == '.') {
  36. cout << '.' << endl; //перехід на наступний рядок після крапки
  37. if (n % 2 == 0) SetColor(7); //заміна кольору після парного речення
  38. else SetColor(2); //заміна кольору після непарного речення
  39. n++;
  40. }
  41. else
  42. cout << ch;
  43. }
  44. }
  45. fin.close(); // закриття файлу для коректної роботи з ним надалі
  46. SetColor(7);
  47. return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement