0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 62
|
||||||
1 | ||||||
Создание и корректировка файла, содержащего сведения об абитуриентах07.10.2016, 22:41. Показов 3073. Ответов 27
Метки нет Все метки)
(
Код 322 что означает, кто знает?
Добавлено через 21 минуту
0
|
|
07.10.2016, 22:41 | |
Ответы с готовыми решениями:
27
Создание и корректировка файла, содержащего сведения о студентах. Создание и корректировка файла, содержащего сведения о книгах, находящихся в библиотеке
Создание файла, содержащего сведения о машинах на складе, и работа с ним |
Модератор
![]() ![]() |
|
07.10.2016, 23:08 | 2 |
Здесь до запуска дело не дойдет, оно не скомпилируется по причине ошибок -- неправильные апострофы, неверный синтаксис if, неправильные вызовы Write и Read, пропущенные запятые.
Исправляйте.
0
|
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 62
|
||||||
08.10.2016, 08:05 [ТС] | 3 | |||||
спасибо)
Добавлено через 21 минуту вообще-то компиляция прошла успешно, кавычки те, остальных ошибок не вижу. Это free pascal. Добавлено через 7 минут if исправила, убрала do. Скомпилировалось успешно, а выполнение выдало ошибку 322. Ошибки исправила, компиляция прошла успешно. Если версия Паскаля для 32 разрядного, а у меня 64 разрядный, из-за этого может быть? close(f); end. Добавлено через 3 минуты
0
|
594 / 914 / 149
Регистрация: 10.08.2015
Сообщений: 4,775
|
|
08.10.2016, 10:49 | 4 |
сохрани файл и в проводнике скопируй его содержимое и вставь последний свой вариант, в этом слишком много ошибок, например не совпадает количество begin и end, путаница с while until... По чтению/записи... есть три режима: запись, чтение и добавление. Процедура чтения требует инфо откуда и куда читать, процедура записи, что и куда писать... а у тебя
0
|
Почетный модератор
64287 / 47586 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
|
|||||||||||
08.10.2016, 11:11 | 5 | ||||||||||
Начни с того что не
В разделе Паскаль куча программ, написанных в том числе и мной, на тему записи и типизированные файлы. Воспользуйтесь поиском по форуму (раздел Pascal).
0
|
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 62
|
||||||
08.10.2016, 13:04 [ТС] | 6 | |||||
0
|
Модератор
![]() ![]() |
|
08.10.2016, 15:37 | 7 |
vlisp,
вы типизированные файлы с текстовыми попутали. Ничего, бывает. Типизированный файл открывается для чтения/записи (точнее в том режиме, что задан в FileMode, там по умолчанию 2).
0
|
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 62
|
|
08.10.2016, 16:15 [ТС] | 8 |
И как типизированные читают-пишут?
Добавлено через 24 секунды ошибка на 39 строке.
0
|
Почетный модератор
64287 / 47586 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
08.10.2016, 16:19 | 9 |
rossetta, Вот если нечего почитать, так наберите Гугле Типизированные файлы Паскаль.
0
|
594 / 914 / 149
Регистрация: 10.08.2015
Сообщений: 4,775
|
||||||
08.10.2016, 22:28 | 10 | |||||
а типизированный файл как текстовый нельзя открыть? дело не в типах файлов а в понимании принципов работы с ними...
Любить нужно то, чем занимаетесь, иначе последующая практика превратится в преисподнюю...
Этот код далеко не идеален, но я оставлю будущим поколениям право найти ошибки в нем
0
|
Модератор
![]() ![]() |
|
08.10.2016, 22:36 | 11 |
vlisp,
перестаньте, пожалуйста, писать глупости: 1) Assign() не изменяет InOutRes, проверять IOResult после вызова Assign() не имеет смысла. 2) FileMode и так по умолчанию 2, не нужно присваивать заново, масло масляное. 3) дополнительные переменные, дублирующие поля, вряд ли нужны. 4) файлы обычно нужны, чтобы хранить данные между запусками программы, критерий готовности к поиску и корректировке выбран неудачно. Обычно в этом мало смысла.
0
|
594 / 914 / 149
Регистрация: 10.08.2015
Сообщений: 4,775
|
|
09.10.2016, 02:01 | 12 |
Я и не ставил такой задачи, так как Reset крашит программу, если файла нет, так что до проверки дело не дойдет.
Суть в том, что нужно быть уверенным, что файл готов для работы с ним. А код взят с какого-то паскалевского ресурса и как-то вставлен... Не обязательно, например в скулпаке он по умолчанию = 0, да и мало ли чудаков, способных что-нибудь изменить и забыть...
0
|
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 62
|
|
09.10.2016, 09:30 [ТС] | 13 |
Спасибо за участие и помощь, как-то понемногу пошло. еще раз спасибо.
0
|
Модератор
![]() ![]() |
||||||||||||||||||||||||||
09.10.2016, 10:25 | 14 | |||||||||||||||||||||||||
![]() Решение
vlisp,
Киберфорум отличный паскалевский ресурс, стоило поискать здесь. Ок, будем есть слона по частям. Начнём с открытия файла, "Reset крашит программу" и "нужно быть уверенным".
Тут, безусловно, тоже есть недостатки: невозможность открытия файла не всегда связана с его отсутствием, это может быть нехватка прав доступа, а также блокировка другой программой, что можно отличать по коду ошибки (InOutRes, IOResult), но в случаях, когда это важно, обычно достаточно просто отдать решение о Rewrite пользователю. Переход к записи по номеру:
А про злую любовь есть хорошая поговорка к месту ![]() Добавлено через 35 минут rossetta, еще можете посмотреть там Поиск данных по Ф. И. О. работника
0
|
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 62
|
|
09.10.2016, 11:02 [ТС] | 15 |
Спасибо еще раз, ваша помощь мне пригодилась! Хорошо, что есть такой форум!
0
|
594 / 914 / 149
Регистрация: 10.08.2015
Сообщений: 4,775
|
||||||
09.10.2016, 21:54 | 16 | |||||
Собственно этого было достаточно:
Собственно алгоритм только доступа к файлу не так тривиален, как кажется 1) Узнать есть ли файл 1.1) Если файла нет спросить создать ли его 1.1.1) если не создавать, то сказать адьо и выйти 1.1.2) Если создавать, то создать 1.1.2.1) Если не получилось создать, сказать адьо и выйти 1.1.2.2) Если получилось создать, сказать ок и продолжить 1.2) Если файл есть, сказать ок и продолжить 2) Проверить файл на доступность для чтения 2.1) Если файл не доступен для чтения, сказать адьо и выйти 2.2) Если файл доступен для чтения, продолжить 3) Проверить файл на доступность для записи 3.1) Если файл не доступен для записи сказать хм... убрать из меню пункты редактирования и продолжить 3.2) Если файл доступен для записи, сказать хелло и продолжить А насчет этого... Насчет поиска по номеру записи вы когда-нибудь видели в реальных приложениях такое? Впрочем, это уже не по теме
0
|
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 62
|
||||||
09.10.2016, 22:49 [ТС] | 17 | |||||
вроде почти все получилось, выкладываю конечный вариант. не получился только ввод в режиме добавления записей, почему-то выдает ошибку на записи в файл.
Постановка задачи Разработать программу создания и корректировки файла, содержащего сведения об абитуриентах, сдавших вступительные экзамены в институт. Каждый элемент этого файла должен содержать следующие данные: фамилию и инициалы абитуриента, специальность, на которую он поступает, полученные оценки по физике, математике и литературе. Предусмотреть создание текстового файла, содержащего информацию об абитуриентах, поступающих на указанную специальность.
0
|
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 62
|
|
09.10.2016, 22:50 [ТС] | 19 |
насчет слипшихся пельменей - это отладочная печать, для себя)
0
|
Модератор
![]() ![]() |
|
09.10.2016, 23:30 | 20 |
rossetta,
просто беда, на первый взгляд. Добавлено через 9 минут vlisp, объясните, как связан ReadLn и слипшиеся пельмени. Вас совершенно невозможно понять. Вы не подозревали, что ReadLn(a,b,c) тождественно Read(a); Read(b); ReadLn(c); ? Или дело в чем-то другом? Добавлено через 2 минуты А по поводу перехода по номеру, так тут не до жиру, быть бы живу. Пока и с этим минимумом у ТС не вышло.
0
|
09.10.2016, 23:30 | |
Помогаю со студенческими работами здесь
20
Создание и обработка типизированного файла, содержащего сведения о месте жительства студента
Разработать программу формирования файла, содержащего сведения о школьниках Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |