C/C++

C++ Работа с файлами.

Постановка задачи
2.1 Входной файл (файлы) создавать с помощью текстового редактора Блокнот.
2.2 Выполнить задание. Выходной файл (файлы) создается в программе, в текстовом формате. Просмотр выходного файла – с помощью Блокнота.

Задание
Создать входной файл из нескольких предложений на русском языке. В выходной файл записать все символы(последовательно), кроме гласных букв. Посчитать во входном файле количество пробелов и записать это число последней строчкой в выходной файл.
#include <algorithm>
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <regex>
using namespace std;
size_t count_spaces_in_string(const string& line) {
return count(line.begin(), line.end(), ' ');
}
size_t count_spaces_in_text(const vector<string>& text) {
size_t count = 0;
for (const auto& line : text) {
count += count_spaces_in_string(line);
}
return count;
}
string remove_vowels_in_string(const string& line) {
static const string pattern{ "[оеаияыюэОЕАИЯЫЮЭёЁ]" };
return regex_replace(line, regex(pattern), "");
}
vector<string> remove_vowels_in_text(const vector<string>& text) {
const auto length = text.size();
vector<string> data(length);
for (size_t i = 0; i < length; ++i) {
data[i] = remove_vowels_in_string(text[i]);
}
return data;
}
int main() {
system("chcp 1251 > nul");
cout << "Путь к исходному текстовому файлу: ";
string source_path;
getline(cin, source_path);
ifstream fin(source_path);
if (! fin.is _open()) {
puts("Файл ресурса не найден! ");
} else {
cout << "Путь к целевому текстовому файлу : ";
string target_path;
getline(cin, target_path);
ofstream fout(target_path);
if (! fout.is _open()) puts("Целевой файл не создан! ");
else {
vector<string> text;
string line;
while (getline(fin, line)) {
text.emplace_back(line);
}
fin.close();
const auto text_to_save = remove_vowels_in_text(text);
const auto count_spaces = count_spaces_in_text(text);
for (const auto& str : text_to_save) {
fout << str << '\n';
}
fout << count_spaces;
fout.close();
} fin.is _open() ? fin.close() : void();
}
system("pause");
}

P.S. Код написан под Windows. Кодировка исходного текстовго файла должна быть: Windows-1251
MK
Maxim Kolesnikov
88 177
Лучший ответ
Примерно так

ifstream if("infile.txt");
ofstream of(outfile.txt");
int cnt=0;
char c;
while(if>>c)
switch(c){
case 'A': case 'E' итд
break
case ' ': cnt++;
default: of<<c;
}
of<<"\n"<<cnt;
Бахытжан Калиев Слушайте, а можете целиком код написать. Если вы не заняты. Пожалуйста!
у тебя задача неправильно поставлена
Вроде так
fstream if("infile.txt");
ofstream of(outfile.txt");
int cnt=0;
char c;
while(if>>c)
switch(c){
case 'A': case 'E' итд
break
case ' ': cnt++;
default: of<<c;
}
of<<"\n"<<cnt;
Слава Лыга
Слава Лыга
58