Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 28.12.2011
Сообщений: 13

Викторина,"О,Счастливчик",рандомно задаются вопросы для доступа к программе

09.04.2012, 23:17. Показов 4233. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.

Идея: включаем программу и видим edit-поле, и вопрос (пусть label), который рандомно берется с текстовика. Если ответ правильный - появляются основные компоненты программы (старый edit и label убираются) или же появляется новая форма.

-День рождения Льва Толстого
-Правильный ответ: 1828
-Ответ неверный: messagebox ('Ответ неверен') и появляется новый вопрос.

Что-то типа "Введите пароль для доступа к основным компонентам программы", только тут каждый раз разное.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.04.2012, 23:17
Ответы с готовыми решениями:

Для десяти выстрелов, координаты которых задаются рандомно, вывести в мемо о попадании в мишень
Для десяти выстрелов, координаты которых задаются рандомно, вывести в мемо о попадании в мишень. Координаты точек задать таким образом,...

Викторина: вопросы реализации
Мне надо, сделать мини викторину типо, когда были первые выборы в Украине? и четыре варианта ответа. Но у меня возникает одна проблема не...

Задать массив из 10 элементов, 5 из которых задаются статически, а 5 рандомно
Задать массив из 10 элементов, 5 из которых задаются статически, а 5 рандомно. Подсчитать произведение этих элементов и количество...

7
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
10.04.2012, 05:50
ну дак и в чем проблема собственно? реализовать вашу идею с нуля за вас?
0
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
10.04.2012, 10:44
AntonChik, лень
0
0 / 0 / 0
Регистрация: 28.12.2011
Сообщений: 13
10.04.2012, 16:27  [ТС]
Цитата Сообщение от AntonChik Посмотреть сообщение
ну дак и в чем проблема собственно? реализовать вашу идею с нуля за вас?
Подтолкнуть на верный путь.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.04.2012, 17:11
zabadzzzz, вы сами довольно верно описали путь, теперь пишите код, по ходу спрашивая, если что не получается.
0
0 / 0 / 0
Регистрация: 28.12.2011
Сообщений: 13
14.04.2012, 12:01  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
switch (a)
{
case 1:
Label1->Caption="1+1";
if (S=="Два")
H=1;
else
H=2;
break;
 
case 2:
Label1->Caption="2+2";
if (S=="4")
H=1;
else
H=2;
break;
 
case 3:
Label1->Caption="5+5";
if (S=="10")
H=1;
else
H=2;
break;
 
}
 
 
}
//---------------------------------------------------------------------------
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if (H==1)
Label2->Caption="Trueeee";
 
if (H==2)
{
Label2->Caption="Falseee";
a=random(4);
}
Edit2->Text=IntToStr(a);
}
________

Проблема в том, что все время пишет "Falseee" даже при правильном ответе. Рандом нормально идет (Edit2 для этого юзаю).Вот, в этом проблема сейчас =\

Я вижу так:
1.Программа запускается, а=рандом.
2.В зависимости от того что нарандомило - меняется label (case N), правильный ответ,все такое.
3.По кнопке Button2 :
-ответ верный: label2 "Trueee" и все хорошо,больше ничего не надо. (в дальнейшем на другую форму будет переключаться)
-ответ неверный: label2 "Falseee", 'а' рандомится заново (ессесно, от этого переход в пункт 2).
Помогите ,пожалуйста :J


.h-файл:
C++
1
2
3
int a=random(4);
int H;
AnsiString S;
Добавлено через 14 часов 32 минуты
upupup
0
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
14.04.2012, 12:22
Во-первых у вас не стоит randomize, поэтому при каждом запуске ПО, алгоритм будет весьма предсказуем. Касательно, того, что происходит в инициализации, это какая-то смесь, тут вам и присвоение значения A за телом функции, и создание вопроса и проверка введенного значения в переменную S. Вам нужно использовать отдельную функцию/функции для заполнения и проверки выбранного ответа. Тут не помощь с программой, а литература по языку нужна конечно. Но если все равно считаете, что знаний хватает, вам вначале советую создать макет своего приложения, можно на листочке форма + алгоритм, или просто форму набросайте. Даю подсказу, что для вопроса, лучше использовать Memo или что-то вроде, а для выбора вариантов ответа ComboBox или RadioGroup.
0
0 / 0 / 0
Регистрация: 28.12.2011
Сообщений: 13
14.04.2012, 17:25  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit2->Text=IntToStr(a);
Edit3->Text=IntToStr(H);
lol:                  // metka-perehod
{
a=random(4);
}
if (a==0)
        goto lol;     // metka-perehod
{
 
S=Edit1->Text;
switch (a)
{
case 1:
{
Label1->Caption="One";
if (S==1)
Label2->Caption="TR";
else
Label2->Caption="FS";
}
break;
 
case 2:
Label1->Caption="Two";
if (S==2)
Label2->Caption="TR";
else
Label2->Caption="FS";
break;
 
case 3:
Label1->Caption="Three";
if (S==3)
Label2->Caption="TR";
else
Label2->Caption="FS";
break;
}
 
}
 
 
}
Вот так вроде проще намного. Но вот что бы ответ был верный, надо, что бы рандомом 2 числа одинаковых подряд выбило.

Тоесть когда Label1="One" - ответ "1" не катит. Надо отвечать на СЛЕДУЮЩИЙ рандом по клику. Я и когда писал понимал это,но не знаю как бы его сделать эдак Помогите,пожалуйста.

Добавлено через 4 часа 54 минуты
up. Уже много что перепробовал.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int ctof (int a)
{
randomize();
a=random(4);
return a;
}
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 
Edit2->Text=IntToStr(a);
Edit3->Text=IntToStr(H);
lol:                  // metka-perehod
{
randomize();
a=random(4);
}
if (a==0)
        goto lol;     // metka-perehod
{
 
S=Edit1->Text;
switch (a)
{
case 1:
Label1->Caption="One";
if (S==1)
Label2->Caption="TR";
else
{
Label2->Caption="FS";
ctof(a)
}
break;
Надо как-то через функцию? Что-то никак у меня не идет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.04.2012, 17:25
Помогаю со студенческими работами здесь

Тестирующее приложение, задавать вопросы рандомно
как сделать в программе тест чтобы вопросы были рандомно? вот моя прога

Программа тестирования: раздавать вопросы ученикам рандомно
здравствуйте. Мог бы кто-нибудь сказать как сделать random на следующее: у меня символьный массив с 15 вопросами(тест) по 5 сложных 5...

Тест по таблице Менделеева: как рандомно задавать вопросы
хочу написать программу для изучения таблицы Менделеева. к примеру, в массиве будут находиться названия (написал на все, но потом...

Создание теста: вопросы отдельным файлом и выбираются рандомно
Нужна помощь, вопросы к тесту сделать отдельным файлом, например в "ask.txt". Полный набор вопросов в количестве 20, а на при запуске...

Как создать тест в Delphi, чтобы вопросы брались рандомно из БД?
я знаю что таких тем тут полно но нигде не нашел нужного ответа, мне нужен тест где-то на 20 вопросов чтобы ответы и вопросы брались из...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru