Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/14: Рейтинг темы: голосов - 14, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 30.05.2012
Сообщений: 3

Программа тестер, не могу придумать как сделать чтоб тест закончился(

30.05.2012, 21:14. Показов 2999. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно чтобы из ini файла в случайном порядке читались вопросы, например 3 штуки 1 тест, сделала, чтоб было не по порядку, теперь не могу придумать условие окончание теста, крутит все по кругу)

Randomize;
if ResponseQuest = OtvetUserStr then
begin
Inc(IntQuestTrue);
end
else
begin
inc(IntQuestFalse);
end;

for k:=1 to 3 do
randomize;
IntnextQuest[i]:=Random(9)+1;
Memo1.Lines.Clear;
Quests:=TIniFile.Create(ExtractFilePath( Application.ExeName)+'Quests.ini');
Memo1.Lines.Add(Quests.ReadString('Quest '+IntToStr(IntnextQuest[i]), 'Quest', 'Тест окончен!'));
Memo1.Lines.Add(Quests.ReadString('Quest '+IntToStr(IntnextQuest[i]), 'A', ' '));
Memo1.Lines.Add(Quests.ReadString('Quest '+IntToStr(IntnextQuest[i]), 'B', ' '));
Memo1.Lines.Add(Quests.ReadString('Quest '+IntToStr(IntnextQuest[i]), 'C', ' '));
ResponseQuest:=(Quests.ReadInteger('Ques t'+IntToStr(IntnextQuest[i]), 'Otvet',0));


if (ВОТ СДЕСЬ ЧТО-ТО ДОЛЖНО БЫТЬ, ЧТОБЫ ПОСЛЕ 3Х ВОПРОСОВ ТЕСТИРОВАНИЕ ЗАКАНЧИВАЛОСЬ) then
ShowMessage('Тест окончен!'+#13+'Правильных ответов: '+IntToStr(IntQuestTrue)+#13+'Не правильных ответов: '+IntToStr(IntQuestFalse));
{ Start.Enabled:=true; }
IntQuestTrue:=0;
IntQuestFalse:=0;

end;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.05.2012, 21:14
Ответы с готовыми решениями:

Не могу придумать алгоритм как сделать чтоб при нажатии на кнопку в поле едит (уже выведенному в нем числу)добавлялась е
Не могу придумать алгоритм как сделать чтоб при нажатии на кнопку Вutton1 в поле едит (уже выведенному в нем числу)добавлялась еще одна...

Программа - тест. Тестер. Конструктор тестов
У меня дипломный проект. Нужно создать программу, которая бы оценивала знания студентов. Программа должна состоять из двух частей:...

Не могу придумать, как сделать вывод
Вывести все возможные комбинации 4 цифр . Заранее прошу прощение за быдло-код. Я пока учусь) public class juli { public...

4
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
30.05.2012, 22:52
Хотя тут есть ошибки, но окончание теста можно сделать проверку:
Delphi
1
If (IntQuestTrue+IntQuestFalse)=3 Then
0
0 / 0 / 0
Регистрация: 30.05.2012
Сообщений: 3
30.05.2012, 22:54  [ТС]
Цитата Сообщение от Одиночка Посмотреть сообщение
Хотя тут есть ошибки, но окончание теста можно сделать проверку:
Delphi
1
If (IntQuestTrue+IntQuestFalse)=3 Then

Я пробывала, почему-то не вышло,, попробую еще раз, но хз что ваще делать((( Через пару дней надо сдать дипломную О_о
0
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
30.05.2012, 23:04
Не вижу здесь зацикливания. Как вообще вызывается этот код? Предположу, что это клик какой-то кнопкой, которая меняет на следующий вопрос.
В таком случае, почему вы в конце этого кода обнуляете переменные, подсчитывающие количество правильных и неправильных ответов? Наверное там нужно написать:
Delphi
1
2
3
4
5
6
7
if If (IntQuestTrue+IntQuestFalse)=3 then
Begin
   ShowMessage('Тест окончен!'+#13+'Правильных ответов: '+IntToStr(IntQuestTrue)+#13+'Не правильных   ответов: '+IntToStr(IntQuestFalse));
  { Start.Enabled:=true; }
  IntQuestTrue:=0;
  IntQuestFalse:=0;
End;
И какой смысл делать 3 раза?
Delphi
1
2
for k:=1 to 3 do
 randomize;
Если хотите, чтобы вопросы не повторялись создайте множество. Сначала очистить его. Потом каждый раз заносить номер вопроса, который выдаётся. А при поиске проверять, если вопрос уже есть в множестве - повторять Random.
1
0 / 0 / 0
Регистрация: 30.05.2012
Сообщений: 3
30.05.2012, 23:16  [ТС]
Цитата Сообщение от Одиночка Посмотреть сообщение
Не вижу здесь зацикливания. Как вообще вызывается этот код? Предположу, что это клик какой-то кнопкой, которая меняет на следующий вопрос.
В таком случае, почему вы в конце этого кода обнуляете переменные, подсчитывающие количество правильных и неправильных ответов? Наверное там нужно написать:
Delphi
1
2
3
4
5
6
7
if If (IntQuestTrue+IntQuestFalse)=3 then
Begin
   ShowMessage('Тест окончен!'+#13+'Правильных ответов: '+IntToStr(IntQuestTrue)+#13+'Не правильных   ответов: '+IntToStr(IntQuestFalse));
  { Start.Enabled:=true; }
  IntQuestTrue:=0;
  IntQuestFalse:=0;
End;
И какой смысл делать 3 раза?
Delphi
1
2
for k:=1 to 3 do
 randomize;
Если хотите, чтобы вопросы не повторялись создайте множество. Сначала очистить его. Потом каждый раз заносить номер вопроса, который выдаётся. А при поиске проверять, если вопрос уже есть в множестве - повторять Random.


Не знаю каким чудом, но у меня все получилось!))) Спасибо всем за помощь)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2012, 23:16
Помогаю со студенческими работами здесь

Как сделать так, чтоб человек, прошедший тест выводился в А1 ячейку, второй в А2 и тд
Private Sub CommandButton2_Click() If k = "" Then Sheets("Результат").Cells(2, 1) = UserForm18.TextBox1 ...

никак не могу придумать и написать тест для этой простой программки
да и объясните пожалуйста как вообще пишутся тесты для программ в интернете шарил что то найти не могу

не могу придумать, Как сделать объединение, буду благодарен, если поможете
#include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <time.h> int main() { ...

Не могу придумать, как правильно сделать меню резделов HTML и CSS
Вот как должно быть! А вот что получается! Код:

Не могу разобраться с циклами (не могу понять как сделать так чтоб цикл считывал каждый элемент, без массива!)
Натурально число а вводится пользователем.Определить количество не нудевых цифр этого числа . Не используя массивы!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru