Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Подскажите, пожалуйста, как написать такую программу в microsoft visual studio c++

Mira Ratmir Ученик (95), на голосовании 2 года назад
Программа выводит из файла «РаспАуд. txt» на экран или в другой текстовый файл только строки с аттестационными мероприятиями (зачеты, экзамены, собеседования, комиссионные экзамены и переэкзаменовки). Строки должны быть упорядочены по дате.

Столбцы из файла:
УчГод Сем НазванияГрупп дниВремя НазваниеДисциплин ВидЗанятий НачНед КонНед Дата ИДч_н ФИО аудитория
2018/2019 1 1УТСб-01-21оп 6-11-50 - 13-20 Программирование и основы алгоритмизации экз 21 21 26.01.2019 1 Смирнов А. А. 1-320
2018/2019 1 1АПпб-00-15зу 6-10-10 - 11-40 Техническая документация автоматизированных систем собес 21 21 26.01.2019 1 Соболев Е. А. 1-320
2018/2019 1 1АПпб-00-11зп 5-15-10 - 16-40 Введение в профессию зач 21 21 28.05.2019 1 Миронова С. Л. 1-320
2018/2019 1 1АПпб-00-31оп 5-13-30 - 15-00 Прикладная химия п/з 17 17 1 Гуськова Н. Л. 1-320
2018/2019 1 1АПпб-00-41оп 3-15-10 - 16-40 Теория автоматического управления к/э 1 1 05.11.2019 1 Петров П. Г. 1-320

Как написать данную программу?
Голосование за лучший ответ
D P Мудрец (11157) 2 года назад
Вообще подобные программы, если говорить о реальном применении, удобнее делать взаимодействуя с Базой Данных на SQL-сервере а не с текстовым файлом. Ибо ваш текстовый файл по своей сути представляет собой последовательность записей в таблице. Но если надо работать именно с ним, то необходимо реализовать следующие моменты:
1. Считывание записи (строки).
2. Выделение из записи отдельных полей.
3. Разбор отдельных полей и выделение из них полезной информации. Например преобразование поля с датой из человекочитаемого вида в переменную типа time_t (тут вам поможет чтение man по функции mktime)
4. На основе собранной информации порождаем объект типа ЗаписьБД, в котором выделенные поля представлены в удобном для машинной обработки виде
5. Добавляем объект (фактически это, скорее всего, будет указатель на объект) в объект-контейнер (хранилище данных). На эту роль в вашем случае претендуют std::vector, std::list и, возможно, std::map
6. На основе информации из контейнера можно построить индексы для формирования какого-либо порядка из записей (например сделать индекс, упорядоченный по дате).
Похожие вопросы