|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
||||||
Запись структуры в файл, чтение из файла и удаление (файловый ввод/вывод)01.12.2016, 17:00. Показов 12551. Ответов 80
Метки нет (Все метки)
Добрый вечер! Возникла такая проблема, что при добавлении записи, удаляются уже имеющиеся записи в файле.
Также не помешала бы помощь в вопросе удаления записи, с указанным возрастом. Ну и вывод всего содержимого в файле. Спасибо, за помощь.
0
|
||||||
| 01.12.2016, 17:00 | |
|
Ответы с готовыми решениями:
80
Чтение из файла STL (файловый ввод/вывод)
|
|
Модератор
|
||||||||||||||||||||||||||
| 04.12.2016, 00:04 | ||||||||||||||||||||||||||
Сообщение было отмечено georgiisav988 как решение
Решение
Вот работающий готовый код для
MS Visual Studio 2015:main.cpp
Person.h
Person.cpp
my_functions.h
stdafx.h
1
|
||||||||||||||||||||||||||
|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
|
| 04.12.2016, 15:41 [ТС] | |
|
Спасибо большое, за оказанную помощь.
Все же хотелось спросить, как осуществляется удаление записи? Я вижу, что все работает, но понять, как мне пока не удается..... И за гайд создания также отдельное, Спасибо!
0
|
|
|
Модератор
|
|||
| 04.12.2016, 22:09 | |||
|
georgiisav988, алгоритм таков.
Шаг 1-ый. Сначала выводится самое первое меню: 1 - ADD (добавить записи) 2 - SHOW (отобразить имеющиеся записи) 3 - DELETE (удалить имеющиеся записи) 4 - EXIT (выйти из программы) Если на этом этапе Вы выберете 2 или 3 пункты, программа выведет предупреждение: No entries were found!, то есть, Ни одной записи не найдено!. И действительно, Вы ведь ещё не ввели ни одной записи. Так сделайте это! Выберите цифру 1 (ADD - добавить записи).Шаг 2-ой. Выберите количество записей. Ну, например, 3. Теперь последовательно введите данные для первого студента: ФИО, адрес, телефон, возраст. Потом для второго студента так же: ФИО, адрес, телефон, возраст. Потом для третьего студента точно так же: ФИО, адрес, телефон, возраст. Допустим, Вы ввели такие строчки:
Выведите сохранённые данные на экран. Для этого выберите в меню 2 (SHOW - отобразить записи).Шаг 4-ый. Выберите в меню 3 (DELETE - удалить записи).Шаг 5-ый. Выберите критерий поиска: 1 - SEEK ENTRY BY NAME (искать записи по совпадению ФИО) 2 - SEEK ENTRY BY ADDRESS (искать записи по совпадению адреса) 3 - SEEK ENTRY BY PHONE (искать записи по совпадению телефона) 4 - SEEK ENTRY BY AGE (искать записи по совпадению возраста) Шаг 6-ой. Например, Вы выбрали цифру 4. То, есть искать записи по возрасту. Теперь надо ввести сам возраст. Давайте скажем программе, чтобы она искала всех студентов, возраст которых равен 23.Шаг 7-ой. Выведите оставшиеся записи на экран, то есть нажмите 2 (SHOW - отобразить записи).Вы должны увидеть только такую запись:
Шаг 8-ой. Поробуйте ещё поэкспериментировать с программой - удаляйте, добавляйте, отображайте записи. Шаг 9-ый. Когда Вам наконец это надоест - выберите 4 (EXIT - выйти из программы).Шаг 10-ый. Откройте для себя гугл-переводчик. И начните учить английский. Программист без английского - это как безрукий снайпер. Ну или как безногий бегун.
1
|
|||
|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
|
| 04.12.2016, 22:20 [ТС] | |
|
Видимо, я не понятно объяснил, что именно спросил.
Я понял алгоритм программы и действия каждого пункта. Вопрос был насчет, для чего используется вектор, как осуществляется удаление, т.е. программно как происходит. Да и я понял, что там на английском написано.
0
|
|
|
Модератор
|
||||||
| 05.12.2016, 10:20 | ||||||
|
georgiisav988, вот версия с подробными комментариями:
main.cpp
1
|
||||||
|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
|
| 05.12.2016, 12:06 [ТС] | |
|
Т.е. данные берутся из файла и помещаются в массив(контейнер), работает с ним и потом записывает обратно в файл?
Да буду рад!
0
|
|
|
Модератор
|
||||||
| 05.12.2016, 12:26 | ||||||
|
georgiisav988, вот:
my_functions.h
1
|
||||||
|
Модератор
|
||
| 05.12.2016, 17:45 | ||
|
Добавлено через 1 час 39 минут georgiisav988, что-то прояснилось или код по-прежнему вызывает священный ужас? ))) Добавлено через 3 часа 28 минут georgiisav988, про предикаты вот тут коллега rikimaru2013 хорошо написал.
2
|
||
|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
|
| 05.12.2016, 17:51 [ТС] | |
|
Вот например. Я добавил три записи, закрыл программу, потом заново включил и выбрал пункт Delete.
Тогда все содержимое помещается в массив(vector) и там удаляется, и потом переписывается в файле, так или как-то по другому идет?
0
|
|
|
Модератор
|
|||
| 05.12.2016, 18:07 | |||
|
Добавлено через 14 минут
1
|
|||
|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
|
| 05.12.2016, 18:27 [ТС] | |
|
Если при повторном запуске программы, массив пуст. То я вообще не понимаю, как все происходит!
0
|
|
|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
|
| 05.12.2016, 19:22 [ТС] | |
|
Можешь объяснить, последовательно, как происходит удаление, при повторном запуске программы?!
0
|
|
|
Модератор
|
||
| 05.12.2016, 19:24 | ||
|
1
|
||
|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
|
| 05.12.2016, 23:37 [ТС] | |
|
А как в массив добавляется записи?
0
|
|
|
0 / 0 / 1
Регистрация: 01.04.2016
Сообщений: 76
|
|
| 05.12.2016, 23:43 [ТС] | |
|
Так, смотри. В первый раз я добавил 3 записи.
Потом закрыл. Потом заново открыл. И просто выбрал пункт 3-Delete. В это случаи, как происходит?!
0
|
|
|
Модератор
|
|||
| 06.12.2016, 00:11 | |||
пустоту.В файл идёт копирование из массива только после того, как ты с клавиатуры в этот самый массив внесёшь данные. Внесёшь именно вот в этот конкретный раз, в этот сеанс работы с прогой. Записи, находящиеся в файле с прошлого сеанса работы с программой игнорируются. Программа при новом сеансе ничего о них не знает. Добавлено через 15 минут georgiisav988, я уже понял, что тебе надо не только писать в файл, но и читать из файла. Это можно сделать, но уже не сегодня. У меня уже третий час ночи. Я спать.
1
|
|||
| 06.12.2016, 00:11 | |
|
Считать данные из текстового файла по условию и записать их в другой текстовый файл (файловый ввод/вывод) Структуры.Файловый ввод вывод в С++
структуры. файловый ввод-вывод. Для каждой строки файла удалить среднее слово; результат записать в файл (файловый ввод/вывод) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|