4 / 4 / 4
Регистрация: 09.03.2014
Сообщений: 187
|
||||||
1 | ||||||
Структура "Телефонная книга", файловый ввод/вывод05.12.2014, 21:58. Показов 3111. Ответов 1
Метки нет (Все метки)
0
|
05.12.2014, 21:58 | |
Ответы с готовыми решениями:
1
Заменить в программе, переводящую строку в двоичный код, консольный ввод/вывод на файловый ввод/вывод Реализовать поиск по заданному полю в списке объектов пользовательского типа (структура "Телефонная книга") Структура "Телефонная книга" Структура "Телефонная книга" Поменять консольный ввод-вывод на файловый ввод-вывод |
Вездепух
11688 / 6367 / 1723
Регистрация: 18.10.2014
Сообщений: 16,050
|
|
05.12.2014, 22:31 | 2 |
Во-первых, компилятор тут совершенно ни при чем. В коде написано огромное количество невероятной белиберды и, я уверен, содержится еще немалое количество багов.
Во-вторых, не надо выдумывать: на приведенных вами данных ничего подобного ваша программа не выдает. Если взять ваш код, ваши данные и попросить программу распечатать эти данные, то программа порождает совершено нормальный вывод. В-третьих, несложно догадаться в чем причина описываемого вами поведения. Когда вы распечатываете данные на экране, вы не делаете перевод строки после каждого поля данных. Тем не менее перевод строки происходит. Почему, спрашивается? А потому, что функция 'fgets' прочитала ваши данные из файла вместе с символами перевода строки в конце. Т.е. переводы строки из входного файла забиты прямо в ваши данные. Когда же вы записываете данные в файл из вашей программы, вы используете 'fputs'. Функция 'fputs' пишет данные в файл без перевода строки в конце. И вот тут у вас начинается какая-то странная чехарда. В половине случаев вы аккуратно делаете 'fputs("\n",pf);' после каждой записанной строки. А в другой половине случаев ничего подобного не делаете. Почему? Почему половина кода у вас написана так, а другая половин - совсем по-другому? Именно из-за этого у вас возникают данные без переводов строки, которые потом печатаются в одну строчку. На само деле это, конечно, профанация. Не надо хранить перевод строки внутри самих данных. Но с этим вы уже сами разбирайтесь.
0
|
05.12.2014, 22:31 | |
05.12.2014, 22:31 | |
Помогаю со студенческими работами здесь
2
Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур Реализовать вывод массива объектов типа Student на консоль (файловый ввод/вывод) Поиск в массиве структур по заданному полю и вывод в алфавитном порядке (файловый ввод/вывод) Файловый ввод-вывод (вывод в два файла) Вывод суммы в файл (файловый ввод/вывод) Файловый ввод/вывод Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |