Запись в файл |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Запись в файл |
John |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 74 Пол: Мужской Реальное имя: Женя Репутация: 1 |
Привет ребята выручайте. У меня курсовик игра "о счастливчик". Я не могу написать
продедуру(функцию, незнаю) которая бы вводила в графическом режиме вопросы и записывала их в файл: 1. В начале появляется прямоугольник в котором выбирается уровень сложности вопросов. Если пользователь введет цифру 1 значит должен активироваться 1 файл( так и с цифро 2 -- актив. 2 файл, 3 -- актив. 3 файл). 2. Потом пользователь нажимает клавишу и появляется окно для ввода вопроса (все идет в графическом режиме). И после ввода вопроса, нажимаем любую клавишу и этот вопрос записывается в файл. 3. Потом после ввода вопроса пользователь нажимает клавишу и появляется окно для ввода правильного ответа. И после ввода ответа, нажимаем любую клавишу и этот ответ записывается в файл. 4. И так для 3 не правильных ответов. Причем ввод идет в графическом режиме(тоесть нада продедура ввода текста в граф. режим). Моя проблема в том что я не понимаю как записать и куда все эти вопросы( а их может быть много) и ответы. И что бы при случайном выводе вопроса в графический режим ответы(и не правильные ответы) тоже должны совпадать с этим вопросом). Прикрепленные файлы file.PAS ( 2.3 килобайт ) Кол-во скачиваний: 293 |
volvo |
Сообщение
#2
|
Гость |
Ты начинаешь не с того, с чего нужно начинать... Напиши сначала программу, которая будет стабильно работать в текстовом режиме, безо всяких финтифлюшек и рюшечек... А вот когда она заработает, тогда поменять процедуру ввода с текста на графику + изменить внешний вид интерфейса - дело получаса...
Цитата Моя проблема в том что я не понимаю как записать и куда все эти вопросы В файлы, куда ж еще?type и создавай файл: var f_in: file of tquest; |
John |
Сообщение
#3
|
Пионер Группа: Пользователи Сообщений: 74 Пол: Мужской Реальное имя: Женя Репутация: 1 |
как их связать чтобы при выводе вопроса нужные ответы выводились. И right_answer: byte это зачем???
Сообщение отредактировано: John - |
volvo |
Сообщение
#4
|
Гость |
Читаешь из файла запись полностью, в ней сразу будут содержаться И вопрос И 4 варианта ответа... Вот их и выводи на экран.
Цитата И right_answer: byte это зачем??? То есть, тебе не обязательно знать, КАКОЙ из ответов правильный? Вот тут будет храниться номер правильного ответа из 4-х приведенных вариантов. |
мисс_граффити |
Сообщение
#5
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата как их связать чтобы при выводе вопроса нужные ответы выводились. они ж уже связаны в запись. то есть тебе надо сделать var zap: tquest; -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
John |
Сообщение
#6
|
Пионер Группа: Пользователи Сообщений: 74 Пол: Мужской Реальное имя: Женя Репутация: 1 |
мисс_граффити все так и делаю. Подскажите еще как несколько вопросов записать, а то они у меня один на другой накладываются..???
|
мисс_граффити |
Сообщение
#7
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
у меня ничего ни на что не накладывается показывай, как делаешь -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
John |
Сообщение
#8
|
Пионер Группа: Пользователи Сообщений: 74 Пол: Мужской Реальное имя: Женя Репутация: 1 |
Да, еще если записано много вопросов как вывести любой из этого списка вопрос??? И подскажите как ranswer: byte работать куда это поместить?? Сообщение отредактировано: John - |
volvo |
Сообщение
#9
|
Гость |
Стоп... Ты что, для ввода КАЖДОГО вопроса используешь vvod1? Там же у тебя Reset... Само собой все вопросы будут писаться в первую запись... Надо в основной программе открыть файл, а в процедуре никаких Reset чтоб не было...
|
John |
Сообщение
#10
|
Пионер Группа: Пользователи Сообщений: 74 Пол: Мужской Реальное имя: Женя Репутация: 1 |
Цитата Стоп... Ты что, для ввода КАЖДОГО вопроса используешь vvod1? Там же у тебя Reset... Само собой все вопросы будут писаться в первую запись... Надо в основной программе открыть файл, а в процедуре никаких Reset чтоб не было... Не понял??? |
volvo |
Сообщение
#11
|
Гость |
Скажем, так:
var Кстати, теперь можно выбрать случайный вопрос из файла очень просто: n := random(filesize(f1)); |
John |
Сообщение
#12
|
Пионер Группа: Пользователи Сообщений: 74 Пол: Мужской Реальное имя: Женя Репутация: 1 |
А как сделать чтобы если вопрос раньше выводился то потом он не выводился???
Я так понимаю, что если номер вопроса будет равен предыдущему номеру выведенного вопроса, то тогда надо вывести другой вопрос. Только как это записать??? |
Tan |
Сообщение
#13
|
Профи Группа: Пользователи Сообщений: 559 Пол: Мужской Реальное имя: Бруно Репутация: 10 |
Я бы сделал массив булинов размером с количество вопросов. В моём компиляторе все элементы массива изначально принимаю значения False.
n := random(filesize(f1)); Сообщение отредактировано: Tan - -------------------- Цитата Imagination is more important than knowledge. Albert Einstein |
John |
Сообщение
#14
|
Пионер Группа: Пользователи Сообщений: 74 Пол: Мужской Реальное имя: Женя Репутация: 1 |
Цитата Я бы сделал массив булинов размером с количество вопросов Это как?? ms: array [0..{максимальное количество вопросов}] of boolean; Сообщение отредактировано: John - |
volvo |
Сообщение
#15
|
Гость |
Почему с 1? Индексация в файле начинается с 0, здесь тоже надо бы с нуля...
|
John |
Сообщение
#16
|
Пионер Группа: Пользователи Сообщений: 74 Пол: Мужской Реальное имя: Женя Репутация: 1 |
Опять с этими вопросами, как сделать так что бы эти вопросы блокировались после вывода. Просто как посоветовал Tan немного не то, надо что после того как вывелся вопрос, он блокировался до нового запуска..
|
Tan |
Сообщение
#17
|
Профи Группа: Пользователи Сообщений: 559 Пол: Мужской Реальное имя: Бруно Репутация: 10 |
ну возьми так как я тебе советовал только после else не выводи сообщение о том, что вопроса нет а так :
else continue;то есть ничего не изменится и программа продолжит работу, организуй цикл. Сообщение отредактировано: Tan - -------------------- Цитата Imagination is more important than knowledge. Albert Einstein |
John |
Сообщение
#18
|
Пионер Группа: Пользователи Сообщений: 74 Пол: Мужской Реальное имя: Женя Репутация: 1 |
Цитата поменять процедуру ввода с текста на графику Можете помочь. Если использовать эту запись то для ввода я использую
А как это связать с предыдущим??? |
John |
Сообщение
#19
|
Пионер Группа: Пользователи Сообщений: 74 Пол: Мужской Реальное имя: Женя Репутация: 1 |
Люди как сделать, помогите! ПОЖАЛУЙСТА.
|
John |
Сообщение
#20
|
Пионер Группа: Пользователи Сообщений: 74 Пол: Мужской Реальное имя: Женя Репутация: 1 |
Народ скажите тут мы в записи объявляли right_answer для того что знать правильный ответ. Так вот что надо присвоить right_answer
Допустим
Что надо написать??? |
Текстовая версия | 21.12.2024 20:18 |