![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Athen |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: ![]() ![]() ![]() |
Разработать программу для обработки данных типизированного файла. Обработка данных должна включать процедуры без параметров:
Для вывода шапки таблицы; Для вывода данных одной записи; Для создания файла; Для дополнения файла новыми записями; Для записи данных в файл; для записи данных файла; Для чтения данных файла; Для модификации ряда записей файла; Для поиска записей файла с выводом найденных записей или сообщения о неуспешном поиске по поисковому признаку; Удаления записей из типизированного файла следующим образом: поиск удаляемой записи; сдвиг (в случае успешного поиска) всех записей, расположенных после удаляемой записи, к началу файла; после удаления производится усечение файла. Структура файла: Абонентская плата за телефон Ф.И.О. абонента Телефон Год установки Количество абонентов Плата за телефон Поисковые признаки: абоненты, имеющие задолженность; год установки до 1980 года. Начала делать так: ток чет ниче не выходит, кроме шапки таблицы ![]() ![]()
|
![]() ![]() |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
ну, во-первых, по-моему, имеет смысл сделать тип str доступным по все программе, а не только в danzap
далее Цитата Для вывода шапки таблицы; это ты сделала Цитата Для вывода данных одной записи; procedure danzap; Но в таком виде она всегда будет выводить первую запись. На мой взгляд, это бессмысленно. Логичнее открытывать файл, а потом вызывать эту процедуру - можно не один раз. Цитата Для создания файла; Ты сделала. Цитата Для дополнения файла новыми записями; А зачем ты делаешь а строкой?! Файл же типизированный, пишем в него записи. Вот с записями и работай. Только не забывай перемещать указатель в конец файл с помощью seek - а то запишешь поверх другой записи. ..продолжение следует. пока разберись с этим -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Athen |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: ![]() ![]() ![]() |
Спасибо за ответ!
Я кое-что исправила procedure zap; procedure danzap; Пришлось в read перечислить все записи, иначе выдает ошибку. Но похоже заполнение программа не принимает, потому что выходят стрелки и нули. насчет seek... написала так: seek(f,filesize(f)). Но пишет, что файловый тип не правильный. Переделала чтение файла: procedure cht; Вроде бы правильно читает |
Tan |
![]()
Сообщение
#4
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 559 Пол: Мужской Реальное имя: Бруно Репутация: ![]() ![]() ![]() |
f : file of str, если ты работаешь с записями в файле.
-------------------- Цитата Imagination is more important than knowledge. Albert Einstein |
Athen |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата Тогда он в Append(f) пишет, что не правильный формат... Проблема не в этом... Проблема здесь - в том, что Append вообще неприменима к типизированному файлу - только к текстовому...Зачем вообще Append? Все и без него прекрасно реализуется: Seek(f, FileSize(f)); и следующая операция Write(f, ...) запишет компоненту в конец файла... Сообщение отредактировано: volvo - 6.05.2007 18:59 |
Tan |
![]()
Сообщение
#7
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 559 Пол: Мужской Реальное имя: Бруно Репутация: ![]() ![]() ![]() |
Если задание на типизированные файла, то в твоём случае там должны быть только записи, зачем пробелы ? Ты должен читать всю запись сразу, а не пытаться прочитать её поле определённого типа, то есть нельзя просто не обратившись к записи читать что - то другое (на будущее).
Сообщение отредактировано: Tan - 6.05.2007 19:13 -------------------- Цитата Imagination is more important than knowledge. Albert Einstein |
Athen |
![]()
Сообщение
#8
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: ![]() ![]() ![]() |
А теперь выдает ошибку чтения диска...
procedure cht; А когда начинаешь дополнять запись, то вместо фамилии запришивает номер уфф.... да уж... Сообщение отредактировано: Athen - 7.05.2007 14:48 |
мисс_граффити |
![]()
Сообщение
#9
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Цитата Read(f,a); write(f,a); это что за деятельность? считали запись и сразу пишем ее на место следующей? а зачем? так с eof неизвестно что будет твориться... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Athen |
![]()
Сообщение
#10
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: ![]() ![]() ![]() |
Я пытаюсь разобраться, даже что-то уже получается, только вот не могу понять чем ему не нравится
read(f,a); пишет: Error 100: Disk read error. По книжке хорошей посмотрела, там тоже так же написано: read(f,z); z-тоже запись странно... |
мисс_граффити |
![]()
Сообщение
#11
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Возможно, файл не открыт.
Или ты читала-читала, а он закончился. Если ты про эту процедуру - обрати внимание на мое прошлое замечание. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Athen |
![]()
Сообщение
#12
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: ![]() ![]() ![]() |
Возможно, файл не открыт. Или ты читала-читала, а он закончился. Если ты про эту процедуру - обрати внимание на мое прошлое замечание. Да, я исправила это... когда я заполняю файл, после последнего ввода, как нажимаю Enter, сразу прога заканчивается и выдает ошибку чтения диска.... никак не могу исправить |
мисс_граффити |
![]()
Сообщение
#13
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
выложи, как на данный момент выглядит твоя прога. можно прикрепить pas-файл
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Athen |
![]()
Сообщение
#14
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: ![]() ![]() ![]() |
Вот: вроде с диском исправила, осталось только поправить косяки с процедурой modif и понять, почему если вводишь не 1 запись, а две, то читает только последнюю!
Прикрепленные файлы ![]() |
![]() ![]() |
![]() |
Текстовая версия | 24.06.2025 16:23 |