Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/163: Рейтинг темы: голосов - 163, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 14.12.2020
Сообщений: 3

Вывести информацию из файла .txt, прочитать и составить программу на С++

14.12.2020, 23:41. Показов 30480. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задан текстовый файл Data.txt, содержащий список в следующем виде:

фио пробел дата пробел месяц пробел год


Например:
Джанет_Джексон_16_мая_1966
Чарли_Шин_3_сентября_1965
Стивен_Спилберг_18_декабря_1947
Джулианна_Мур_30_декабря_1960
Майк_Майерс_25_мая_1963
Катрин_Денев_22_октября_1943
Ким_Бэсинджер_8_декабря_1953


Составить программу получения:
• возраста каждого человека
• общий средний возраст всех
• общего списка, состоящего из фамилии, даты рождения, возраста
• Список записать в файл Resultat.txt
• Общий средний возраст записать первой строкой в файл Resultat.txt.
• упорядочить список по убыванию возраста, используя любую сортировку
• упорядоченный список записать в файл ResultatSortMyself.txt
• упорядочить список по возрастанию возраста, используя стандартную сортировку Хоара (qsort)
• Упорядоченный список записать в файл ResultatSort.txt
• Для проверки результатов информацию созданных списков вывести на экран.


Нужно написать программу на С++, не используя векторы. Желательно с комментариями (хочу разобраться, как все работает).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.12.2020, 23:41
Ответы с готовыми решениями:

Прочитать информацию из txt файла
1. Берет информацию из .txt файла Текст в файле — на английском.

Из текстового файла input.txt с данными вывести информацию в файл output.txt по заданному условию
Дан текстовый файл input.txt содержащий в первой строке кол-во данных, в каждой следующей чередующиеся данные: фамилии и оценки за 3...

Прочитать информацию из файла и вывести список учителей
Сформировать текстовый файл содержащий информацию о работниках,профессиях,зарплата. Прочитать информацию из файла и вывести список...

7
 Аватар для Хуба-Буба
484 / 296 / 53
Регистрация: 13.08.2019
Сообщений: 1,042
15.12.2020, 07:26
Добрый день! Давайте попробуем Вам помочь не полным готовым решением, а начиная с основ. Прежде всего нам потребуется открыть файл, считать его содержимое с учетом пробелов, а так же определить длину каждой из строк.

Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
int size = 1024;//предполагаемый размер строки
char buff [size]; //размер символьного массива для каждой строки
ifstream readFile("Путь к файлу") // создаём переменную для считывания файла. Путь к файлу через двойную косую: "С:\\User\\Desktop\\Test_1.txt"
while(!readFile.eof()) // пока не дошли до конца файла, читаем
{
readFile.getline(buff,size); //читаем каждую строку и помещаем её в буфер размером size
cout << buff << endl;   // выводим строку
 
for(int i =0; i < size; i++) //цикл для анализа символов считанной строки
{
if(buff[i] == '\0') // проверяем строку на наличие символа конца строки, если находим, то останавливаемся
{
cout << "String len" << i << endl; // вывод длинны строки
break;
}
}
}
readFile.close(); // закрываем файл
return 0;
}

Далее, напишите функцию для поиска года рождения, функцию для вычисления возраста, функцию для сортировки,
функцию записи в файл и т.д. Эти функции используйте в цикле обработки прочитанной строки.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
15.12.2020, 07:54
Цитата Сообщение от Хуба-Буба Посмотреть сообщение
Давайте попробуем Вам помочь... начиная с основ
не применяйте eof при чтении с файла
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,267
15.12.2020, 07:59
Цитата Сообщение от Хуба-Буба Посмотреть сообщение
считать его содержимое с учетом пробелов, а так же определить длину каждой из строк.
1. Где хранится считанный файл?
2. Где определяется длина строки и куда она сохраняется для дальнейшего использования?
0
 Аватар для Хуба-Буба
484 / 296 / 53
Регистрация: 13.08.2019
Сообщений: 1,042
15.12.2020, 08:39
Цитата Сообщение от alexu_007 Посмотреть сообщение
1. Где хранится считанный файл?
2. Где определяется длина строки и куда она сохраняется для дальнейшего использования?
1. Прям весь считанный файл отдельно никуда не сохраняется. Читается строка и помещается в массив buff.
2. Длинна строки определяется в условии. Можно сохранить конечно, но я предполагал,
что дальнейшая обработка будет в этом же цикле на лету. Считали строку -> обработали строку -> сохранили нужную информацию в файл -> перешли к новой строке. Так что заводить отдельную переменную прям здесь и сейчас не стал.

Добавлено через 49 секунд
Цитата Сообщение от Yetty Посмотреть сообщение
не применяйте eof при чтении с файла
Здравствуйте!
Просветите пожалуйста, с чем это связано и как сделать правильней?
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
15.12.2020, 08:54
Цитата Сообщение от Хуба-Буба Посмотреть сообщение
с чем это связано
eof не предназначен для чтения, больше инф посмотрите в интернете
Цитата Сообщение от Хуба-Буба Посмотреть сообщение
как сделать правильней
просто читать. не стоит рекомендовать строки С-стиля, используйте string - тем более в этой задаче дальше пойдут сравнения - например построчное чтение файла:
C++
1
2
3
4
5
    string line;
    while (getline(in,line))
    {
        cout << line << '\n';
    }
1
 Аватар для Хуба-Буба
484 / 296 / 53
Регистрация: 13.08.2019
Сообщений: 1,042
15.12.2020, 09:05
Цитата Сообщение от Yetty Посмотреть сообщение
просто читать. не стоит рекомендовать строки С-стиля, используйте string - тем более в этой задаче дальше пойдут сравнения - например построчное чтение файла:
Спасибо! Буду разбираться дальше, не так давно вернулся к изучению и практике С++. Стараюсь заранее предупреждать об этом, т.к. мои решения далеко не лучшие и оптимальные и пока что делаются по принципу "Как знаю, так и делаю". Мне практика, людям какая-то помощь и фидбэк от опытных разработчиков(это особенно ценно)!
0
0 / 0 / 0
Регистрация: 14.12.2020
Сообщений: 3
15.12.2020, 17:36  [ТС]
Хуба-Буба,

Спасибо.
Можете, пожалуйста, привести написание функции, например, возраст каждого в этой задаче, а то не понимаю, как из каждой строчки вывести именно дату,месяц и год каждого и посчитать возраст.
И мы все эти функции должные писать в секции int main(), или же отдельно (за { } скобками)?


"Эти функции используйте в цикле обработки прочитанной строки". Как это правильно(!) написать (например, с функцией поиска возраста каждого)?


P.S. Только начинаю программировать на С++, поэтому пока что плохо представляю структуру кода для данной задачи

Добавлено через 4 минуты
Цитата Сообщение от Хуба-Буба Посмотреть сообщение
Добрый день! Давайте попробуем Вам помочь не полным готовым решением, а начиная с основ. Прежде всего нам потребуется открыть файл, считать его содержимое с учетом пробелов, а так же определить длину каждой из строк.

Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
int size = 1024;//предполагаемый размер строки
char buff [size]; //размер символьного массива для каждой строки
ifstream readFile("Путь к файлу") // создаём переменную для считывания файла. Путь к файлу через двойную косую: "С:\\User\\Desktop\\Test_1.txt"
while(!readFile.eof()) // пока не дошли до конца файла, читаем
{
readFile.getline(buff,size); //читаем каждую строку и помещаем её в буфер размером size
cout << buff << endl;   // выводим строку
 
for(int i =0; i < size; i++) //цикл для анализа символов считанной строки
{
if(buff[i] == '\0') // проверяем строку на наличие символа конца строки, если находим, то останавливаемся
{
cout << "String len" << i << endl; // вывод длинны строки
break;
}
}
}
readFile.close(); // закрываем файл
return 0;
}

Далее, напишите функцию для поиска года рождения, функцию для вычисления возраста, функцию для сортировки,
функцию записи в файл и т.д. Эти функции используйте в цикле обработки прочитанной строки.




char buff [size];
Visual Studio пишет, что выражение size должно иметь константное значение. Как исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.12.2020, 17:36
Помогаю со студенческими работами здесь

Строки: прочитать информацию из файла данных и вывести нужное
Помогите с программой пожалуйтса Создать программу которая выполняет обработку текста: в файле находится фамилия, имя и отчество...

Составить программу, которая записывает в файл out.txt произведение ненулевых чисел из файла in.txt
помогите, пожалуйста, составить программу файле in.txt записаны числа. Точное количество чисел неизвестно (использовать цикл WHILE и...

Как с txt файла вывести информацию на listbox?
Здраствуйте такая вот загвоздка как с txt файла вывести информацию на listbox.

Разработайте программу, которая считывает информацию из файла date.txt
Разработайте программу, которая считывает информацию из файла date.txt, находит максимальное число и общую сумму. Результат запишите в файл...

Как вывести на экран консоли содержимое из файла txt и при необходимости добавить информацию в файл?
C# Как вывести на экран консоли содержимое из файла txt и при необходимости добавить информацию в файл?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
ПЛИС
zxcha1ka_ 27.01.2026
AHDL Разработать программы для синтеза следующих устройств: 1. Параллельного регистра 4-х разрядного с синхронной загрузкой и асинхронным сбросом (обнулением); Пoмoгитe пoжaлyйстa
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru