


Как прочитать весь файл на C++
Для заданий 21- 40 описано название структуры и та информация,
которая содержится во входном файле. Вся информация об одном
экземпляре структуры записана во входном файле в строку через пробел.
В выходной файл надо вывести информацию об экземплярах структурах,
соответствующих некоторому критерию, описанному в задании.
При сдаче задач прикладывайте входные файлы. Во входном файле
должна быть информация не меньше, чем о 10 экземплярах
32 «Государство»:
название страны; столица; государственный язык; население; площадь
территории; денежная единица; государственный строй; глава государства.
Вывести данные про государства, население которых больше 20 млн жителей.
Подскажите почему программа читает, только 1-ую строку файла?
#include
#include
#include
using namespace std;
struct State // создаём структуру State.
{
string country, capital, language, area, currency, build, chapter, dom, kv, brand, number; // информация содержащиеся во входном файле.
int population;
};
int main()
{
ifstream F("f.txt"); // читаем файл "f.txt".
ofstream G("g.txt"); // создаём файл для вывода.
if (!F.is_open()) // проверяем открылся ли файл.
{
cout <<" Ошибка. " << endl; // в случаи если файл не открылся, то выводим сообщение об ошибке.
}
else
{
cout <<" файл открыт! "<< endl; // в случаи если файл открытлся, то выводим сообщение о том, что файл открыт.
}
State x;
while (F.peek()!=EOF)
{
F >> x.country >> x.capital >> x.language >> x.population >> x.area >> x.currency >> x.build >> x.chapter; // читаем файл "f.txt".
if (x.population > 20)
{
G << x.country <<" "<< x.capital <<" "<< x.language <<" "<< x.population <<" "<< x.area <<" "<< x.currency <<" "<< x.build <<" "<< x.chapter << endl; // выводим результат в файл "g.txt".
}
}
F.close(); // закрываем файл "f.txt".
G.close(); // закрываем файл "g.txt".
return 0;
}
Потому, что ты создал один экземпляр структуры (x), а прототипов по условию должно быть не менее 10. Юзай массив структур.
Так-же можно работать со структурами данных (https://www.youtube.com/watch?v=imYmUAR4QBs&list=PLQOaTSbfxUtBm7DxblJZShqBQnBAVzlXX&index=53)