|
3 / 3 / 2
Регистрация: 05.12.2009
Сообщений: 16
|
|
Динамическая структура. Кто бы решил?( на C)05.12.2009, 15:55. Показов 1316. Ответов 1
Метки нет (Все метки)
Дан бинарный файл, содержащий записи.
Необходимо реализовать программу, которая бы загружала данный бинарный файл в динамическую структуру: двунаправленный список связанного хранения. После загрузки данных производится сортировка списка, выбор поля и направления сортировки осуществляется пользователем. По окончании сортировки упорядоченный список должен быть выведен на экран. Далее пользователь может добавить в список произвольное количество записей, введя их с клавиатуры. Добавление записей в список осуществляется без нарушения правил упорядочивания записей (использовать функцию сортировки при вводе записей нельзя, запись должна добавляться в список в нужную позицию). После завершения ввода необходимо удалить из списка часть записей. При этом все удаляемые записи должны быть записаны в выходной текстовый файл, если он был указан пользователем. Все оставшиеся в списке записи сохраняются в исходный бинарный файл, перезаписывая его. Информация, необходимая для работы программы, передается в параметрах командной строки. Необходимо реализовать обработку следующих параметров: Имя исходного бинарного файла (указывается в формате file:<имя файла>), если имя не указано, то его ввод запрашивается у пользователя. Если файл с указанным именем открыть не удалось, то выводится соответствующее сообщение, выполнение программы продолжается с ввода новых записей, а результирующий список записывается в файл result.bin. Поле сортировки (указывается в формате field:N, где N – номер поля равное 1,2,3 и т.д.). Если этот параметр не указан, то он принимается равным 1. Направление сортировки (указывается в формате dir:inc – сортировка по возрастанию, dir:dec – сортировка по убыванию). Если этот параметр не указан, то он принимается равным inc. Выходной текстовый файл (указывается в формате out:<имя файла>). При реализации программы учитывать, что параметры командной строки могут быть переданы в произвольном порядке. Например, программа может быть запущена одним из следующих способов: proga.exe file:data.bin field:2 dir:dec out:log.txt proga.exe field:2 dir:dec file:data.bin proga.exe file:data.bin out:log.txt proga.exe out:log.txt field:2 dir:dec file:data.bin Программа должна быть реализована с использованием функционального и модульного подходов. Рекомендуется, чтобы в программе были реализованы следующие модули: главный модуль (MAIN), содержащий функцию main; модуль (DATA), содержащий описание структуры данных; модуль (LIST), содержащий функции для работы с динамическим списком; модуль (FUNC), содержащий вспомогательные функции. Для работы со списком необходимо реализовать как минимум следующие функции: добавление записи в конец списка, вставка записи в середину списка, удаление записи из списка, перемещение по списку, сортировка списка, сохранение списка в файл, загрузка списка из файла, удаление всего списка. В качестве дополнительных функций можно привести следующие функции: проверка корректности ввода значений с клавиатуры; сравнение двух записей (для сортировки). Необходимо учитывать, что значение полей, которые заключены в кавычки в формате ввода/вывода, могут состоять из нескольких слов. При вводе все значения должны проходить проверку на корректность. Значения полей, представляющих собой перечисления нескольких значений должны вводиться с помощью специальными обозначений. Например: тип носителя – CD, DVD и ни как иначе. Алгоритм сортировки динамического списка: алгоритм сортировки «вставками». Дополнительно необходимо реализовать программы для создания исходного файла и его просмотра. Программа создания исходного файла должна запрашивать у пользователя имя файла, а затем осуществлять ввод данных и запись их файл. Ввод данных завершается по требованию пользователя. Ввод значений полей одной записи осуществляется u1088 раздельно, а не согласно формату строки ввода. Программа просмотра файла в качестве параметров командной строки получает имя файла и выводит значения, содержащиеся в нем, согласно формату вывода. Вывод осуществляется по 20 записей или до конца файла, если записей в нем осталось меньше 20. Продолжение вывода осуществляется после нажатия пользователем любой клавиши. Описание структуры: содержит информацию о людях: ФИО (строки по 15 символов), пол, дата рождения (в формате дд.мм.гггг), серия (два символа) и номер (целое семизначное число) паспорта. Формат ввода/вывода: ФИО (ПОЛ) ДД.ММ.ГГГГ СЕРИЯ:НОМЕР Дополнительная обработка: Удалить из списка последние N записей, с определенным именем человека.
0
|
|
| 05.12.2009, 15:55 | |
|
Ответы с готовыми решениями:
1
Решил задачу, кто поможет, проверит?
Динамическая структура |
|
|
|
| 06.12.2009, 11:07 | |
|
Это больше похоже на ТЗ
0
|
|
| 06.12.2009, 11:07 | |
|
Помогаю со студенческими работами здесь
2
динамическая структура... Динамическая структура
Динамическая структура Динамическая структура Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|