Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <windows.h>
- using namespace std;
- void SetColor(int text, int background = 0) //Створюємо функцію заміни кольору консолі
- {
- HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
- SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
- }
- int main()
- {
- SetColor(7); //ставимо білий колір тексту
- ifstream fin; //оголошуємо змінну типу ifstream (роботи з текстовим файлом)
- char ch; //оголошуємо символьну змінну
- int n = 0, sentences = 0; //оголошуємо цілочисельні змінні для підрахунку речень
- fin.open("text.txt"); //відкриваємо файл
- if (!fin.is_open()) { cout << "Помилка відкриття файлу!"; } //перевіряєм чи корректно відкрився файл
- else
- {
- cout << "Розмір \"text.txt\" : " ;
- fin.seekg(0, ios::end); //переміщаємо вказівник get в кінець файлу
- cout << fin.tellg() << " bytes" << endl; //виводимо позицію вказівника (дізнаємся скільки байтів у файлі)
- fin.seekg(0, ios::beg); //переміщаєм вказівник назад
- while (fin.get(ch)) { //цикл, що рахує к-сть речень
- if (ch == '.') sentences++;
- }
- cout << "Кількість речень : " << sentences << endl << endl;
- fin.close();
- fin.open("text.txt");
- SetColor(2);
- while (fin.get(ch)) { //цикл, що виводитиме в консоль текст з файлу
- if (ch == '\n') continue; //пропуск переходів на наступний рядрк
- if (ch == '.') {
- cout << '.' << endl; //перехід на наступний рядок після крапки
- if (n % 2 == 0) SetColor(7); //заміна кольору після парного речення
- else SetColor(2); //заміна кольору після непарного речення
- n++;
- }
- else
- cout << ch;
- }
- }
- fin.close(); // закриття файлу для коректної роботи з ним надалі
- SetColor(7);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement