Файлы прямого доступа, Программа тестирования |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Файлы прямого доступа, Программа тестирования |
Anastacia Adesso |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 92 Пол: Мужской Реальное имя: Stanislav Репутация: 0 |
Хмммм если честно, попробовала сделать эту программу.. Только или запуталась где-то или что-то вообще неверно делаю... Просто не компилирует.
Программа тест.. Сначала делается файл с вопросами в виде-вопросб количество вариантов ответа, сами варианты ответов и номер правильного. А результат записывается так- номер вопроса, имя и фамилия, выбранный номер ответа, правильный ответ. UZD10.PAS ( 2.37 килобайт ) Кол-во скачиваний: 568 Может кто-нибудь в этом разбирается... Сообщение отредактировано: Anastacia Adesso - -------------------- Ben sensiz yaşayamam
|
volvo |
Сообщение
#2
|
Гость |
как ты думаешь, сколько ошибок вот в этом фагменте?
readln(f1,q.vopr); |
Anastacia Adesso |
Сообщение
#3
|
Пионер Группа: Пользователи Сообщений: 92 Пол: Мужской Реальное имя: Stanislav Репутация: 0 |
Надо
beginда? -------------------- Ben sensiz yaşayamam
|
volvo |
Сообщение
#4
|
Гость |
Не совсем... Файл F1 определен, как File of Test - соотвественно, типизированный... А к типизированным файлам процедура ReadLn неприменима, только Read... Во-вторых, читать надо в переменную типа Test, то есть всю запись сразу, а не кусками, иначе опять же компилятор не пропустит...
|
Anastacia Adesso |
Сообщение
#5
|
Пионер Группа: Пользователи Сообщений: 92 Пол: Мужской Реальное имя: Stanislav Репутация: 0 |
Эммм
read(f1,q.vopr);у меня же q и есть переменная типа test. А история та же всё ещё -------------------- Ben sensiz yaşayamam
|
volvo |
Сообщение
#6
|
Гость |
Я же предупредил:
Цитата читать надо в переменную типа Test, то есть всю запись сразу, а не кусками , а ты опять хочешь прочесть только одно поле...read(f1, q); { <--- Вот так у компилятора не будет претензий } |
Anastacia Adesso |
Сообщение
#7
|
Пионер Группа: Пользователи Сообщений: 92 Пол: Мужской Реальное имя: Stanislav Репутация: 0 |
Тогда можно оставить вот так..
read(f1,q);те ридлайны, что были раньше надо убрать, так как прочитана уже вся запись? -------------------- Ben sensiz yaşayamam
|
Anastacia Adesso |
Сообщение
#8
|
Пионер Группа: Пользователи Сообщений: 92 Пол: Мужской Реальное имя: Stanislav Репутация: 0 |
Тогда теперь ему что-то уже здесь не нравится
for i:=1 to q.j_sk do -------------------- Ben sensiz yaşayamam
|
Malice |
Сообщение
#9
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
|
Anastacia Adesso |
Сообщение
#10
|
Пионер Группа: Пользователи Сообщений: 92 Пол: Мужской Реальное имя: Stanislav Репутация: 0 |
Нет
for i:=1 to q.j_sk do теперь почему-то после заполнения файла вопросов он выдает оценку ПЛОХО и всё... Что делать? -------------------- Ben sensiz yaşayamam
|
Malice |
Сообщение
#11
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
Цитата if otv_nr=q.prav then inc(prav_otv); |
Anastacia Adesso |
Сообщение
#12
|
Пионер Группа: Пользователи Сообщений: 92 Пол: Мужской Реальное имя: Stanislav Репутация: 0 |
Не в этом смысле..
Вначале идёт вообще создание файла с вопросами.. Это всё работает, но потом сразу же (не задавая вопросов) даёт оценку -------------------- Ben sensiz yaşayamam
|
Malice |
Сообщение
#13
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
Приведи еще раз, что получилось, ведь были еще исправления, а то в исходном коде есть такие интересные строки:
writeln('Vvedite nomer praviljnogo otveta i nazhmite <Enter>'); т.е. написали и стерли сразу.. |
Anastacia Adesso |
Сообщение
#14
|
Пионер Группа: Пользователи Сообщений: 92 Пол: Мужской Реальное имя: Stanislav Репутация: 0 |
-------------------- Ben sensiz yaşayamam
|
Malice |
Сообщение
#15
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
Перед
while not eof(f1) do begin надо поставить Reset (f1), чтоб сбросить указатель чтения в начало файла. + то, о чем я говорил раньше: if otv_nr=q.prav then inc(prav_otv); |
Anastacia Adesso |
Сообщение
#16
|
Пионер Группа: Пользователи Сообщений: 92 Пол: Мужской Реальное имя: Stanislav Репутация: 0 |
На otv_nr он говорит что неизвестный идентификатор. Если поставить r.otv_nr ое перестаёт дальше компилировать
Вот так программа работае. write('Vash vybor-->'); Проблемма.. Всё можно ввести, задаст вопросы, примет ответы, и ... напишет что файл не открыт.. А почему? -------------------- Ben sensiz yaşayamam
|
Malice |
Сообщение
#17
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
|
Anastacia Adesso |
Сообщение
#18
|
Пионер Группа: Пользователи Сообщений: 92 Пол: Мужской Реальное имя: Stanislav Репутация: 0 |
А может потому что у меня в папке много файлов и я одно и то же название ввожу? Его заглючило
Да работает... А как сделать так, чтоб он записывал во второй файл результаты, а не просто его создавал? -------------------- Ben sensiz yaşayamam
|
Malice |
Сообщение
#19
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
Ты делаешь Close (f2), хотя его не открывала. Он у тебя вообще не используется. Поставь в начале Rewrite (f2) хотя бы.
|
Anastacia Adesso |
Сообщение
#20
|
Пионер Группа: Пользователи Сообщений: 92 Пол: Мужской Реальное имя: Stanislav Репутация: 0 |
Сделала... Всё равно не пишет.. Ну и ладно...
Спасибо!!!! -------------------- Ben sensiz yaşayamam
|
Текстовая версия | 6.10.2024 7:14 |