|
0 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 67
|
||||||
Чтение структуры из файла и запись нового06.04.2010, 16:27. Показов 34269. Ответов 72
Метки нет (Все метки)
Из файла вводятся записи структурой
имя - стринг, ТК - место работы тоже структура из AS - место (стринг), Tel - телефон с клавиатуры вводится стринг Asutus (место работы) программа записывает во второй файл записываются совподающие по месту работы люди и их данные. можно ли так записать структуру в структуре? как сделать правильное считывание данных по нескольким людям с файла?
![]()
0
|
||||||
| 06.04.2010, 16:27 | |
|
Ответы с готовыми решениями:
72
Запись и чтение структуры из файла
|
|
0 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 67
|
|
| 16.04.2010, 19:49 [ТС] | |
|
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 16.04.2010, 20:15 | |
|
извините, не тот код посмотрел
напишите за циклом(70 строка), чтоб после копирования из массива строк мы увидели или правильно все переписалось в структуру
0
|
|
|
0 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 67
|
|
| 16.04.2010, 20:51 [ТС] | |
|
всех переписывает правильно но вот в конец ещё раз добавляет второго человека зачемто
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 16.04.2010, 20:54 | |
|
не добавляет а просто выводит на экран информацию о втором, просто я хотел проверить или все правильно в структуру на вашем компиляторе переписывает
если все совпадает, то можете удалить эту (70) строку так в чем тогда проблема, почему при введении названия работы, программа не выводит информации о человеке....? вы все правильно вводите?
0
|
|
|
0 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 67
|
|
| 16.04.2010, 21:07 [ТС] | |
|
да, ввожу правильно, сам не пойму в чём дело
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
||||||
| 17.04.2010, 01:32 | ||||||
|
Все, скачал Dev C++, теперь верняк должно работать))
1
|
||||||
|
0 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 67
|
|
| 17.04.2010, 09:58 [ТС] | |
|
ради моей проблемы даже dev поставили??? я тронут)) но только проблема осталась, может у меня с системой что-то? программа правильно читает файл, но при сравнении выыводит максимум одного человека, и то не всегда (зависит от профессии). я наверно своим вопросом вас утомил
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 17.04.2010, 14:44 | |
|
Хотел окончательно убедиться в чем проблема, оказалось, что Dev-C++ просто разрушает психику, у меня на ВСРР 3.1, ВСРР 6.0 на MS Visual C++ работает, а тут нет
0
|
|
|
0 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 67
|
|
| 17.04.2010, 23:45 [ТС] | |
|
ыыыыыыы)))) согласен на счёт dev но с другими прогами не пробовал работать
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 18.04.2010, 00:38 | |
|
попробуйте Visual Studio 2008 или Borland 6.0, имеются некоторые отличия но очень удобные и актуальные среды программирования, если собираетесь заниматься чем-то посерьезней)
0
|
|
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
| 18.04.2010, 07:08 | ||||||
|
artem0n2, ты как файл сделал ?
у него записи отделены пустыми строками kolya svarshik 7891234 petya moryak 2139487 и т.д.
0
|
||||||
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 18.04.2010, 15:52 | |
|
так artem0n2 изначально и сказал, что каждый человек отделен пустой строкой друг от друга, потому я и написал i++;
0
|
|
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
| 19.04.2010, 04:53 | |
|
ну, а там выводится у него всё слитно
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 19.04.2010, 05:03 | |
|
там строка вывода структуры неправильно было написана(вставлена в цикл, вот она и повторялась кучу раз), а у вас работает, не пробовали?
0
|
|
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||||||||||||
| 19.04.2010, 07:43 | |||||||||||||||||||||
|
всё таки зря ты сделал feof()
во-первых, как уже говорилось, в файле может возникнуть ошибка чтения, тогда конец файла не будет достигнут и цикл повиснет, потому что будет продолжать пытаться прочитать данные, на которых ошибка а во-вторых - данный случай, сначала проверяется достигнут ли конец файла, а потом читается символ и записывается в буфер, но если там нет символов больше, то fgetc() возвращает EOF, и он записывается в буфер и только тогда выставляется флажок eof (функция fgetc() его выставляет) вот пример, как пустой файл не empty
Добавлено через 5 минут а, и ещё, там типы в typedef'ах пришлось дописать
1
|
|||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 67
|
|
| 19.04.2010, 12:02 [ТС] | |
|
accept спасибо за проделанную работу и за объяснение, однако смотрите скриншот....
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 19.04.2010, 13:32 | |
|
насчет eof, то можно просто считывать из файла количество символов-1(но у вас похоже поадекватней)
а на счет контроля ошибок данных, чтоб не изобретать велосипед, существует перечисление iostate в классе ios, которое содержит члены: goodbit - ошибок нет eofbit - достижение конца файла failbit - замечена нефатальная ошибка badbit - замечена фатальная ошибка и с помощью ф-ции-члена rdstate() класса ios можно получить информацию о состоянии ввода/вывода. и iostate rdstate(); будет возвращать соответсвующие флаги... но ведь тут загвоздка в том, что программа либо выводит в файл только первого человека по профессии либо если правильно работает на других компиляторах, то на Dev C++ вообще не запускается(
1
|
|
|
0 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 67
|
||||||
| 19.04.2010, 14:20 [ТС] | ||||||
|
а если вернуться к этому полурабочему варианту который компилируется но работает странно, может получится его довести до ума, если иногда он срабатывает правильно то у него есть шансы =)
0
|
||||||
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 19.04.2010, 14:37 | |
|
насколько я понял все дело в сравнении введенного названия с клавиатуры с названием работы в структуре, остальное все работает отлично, после инстика попробую еще)
0
|
|
|
0 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 67
|
|
| 19.04.2010, 14:38 [ТС] | |
|
эта прога ещё не правильно находит конец файла)
0
|
|
| 19.04.2010, 14:38 | |
|
Запись структуры и её чтение из файла Запись и чтение структуры в/из файла Запись и чтение структуры из бинарного файла Запись/чтение вектора в/из файла.Структуры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
BitTorrent (версия 4.3.9) и Меню Настройки
russiannick 15.11.2026
В меню Настройки можно отключить автоматическое обновление программы.
Карта этого меню приложена ниже.
Нужный пункт выделен красным.
Сервис
Настройки
Поведение
|
Транслитерация текста с кириллицы на латиницу (вариант №3)
Maks 15.11.2026
Обновленная версия предыдущей обработки.
Изменения коснулись букв: Ъ, Ы, Ь, Э, отображения которых зависят от положения реквизита "Транслитерация имён".
Изменено отображение буквы Й.
Добавлена. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
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. . .
|