Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 25.05.2015
Сообщений: 4
MS Access

Тест в Билдере

25.05.2015, 21:57. Показов 1722. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,заранее прошу прощение если делаю что то не так. Новичок на форуме.Делаю диплом.Нужно сделать тесты.задание примерно следующее:учитель или кто либо другой будет вводить Вопрос и варианты ответов в БД с помощью MS Acces. я планирую реализовать по следующей технологии:одна запись таблицы БД будет содержать Вопрос,2-е: первый вариант ответа,3-е:второй и так далее, сколько их там будет.а последнее поле-правильный ответ , с которым в дальнейшем будет проходить сравнение. Ну по скольку в программировании я не силен(пока еще,надеюсь это изменится),хочу обратится за помощью.Как сами тесты сделать я представляю, единственное не знаю как осуществить вывод На экран вопроса и вариантов ответа из БД. я связал программу с БД но дальше не знаю.То линужно присвоить какой-то переменной значение записи в таблице? Чтоб потом вывести на экран и проверить правильность.Делаю в Билдере ХЕ 8. Но если кто знает как сделать в предыдущих версиях, думаю все равно очень поможет. Если у кого то возникнет лучшая идея по реализации,прошу не сдерживайтесь) Спасибо за внимание
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.05.2015, 21:57
Ответы с готовыми решениями:

Программа-тест на c++ в билдере
Всем привет. Мне нужно было сделать программу-тест, по какому-нибудь предмету. При запуске программы должно появляться окно, где нужно...

Тест (Тест->Создать тест.->Модульный тест.)
есть нечто подобное в билдере ? или вообще программа создающая тесты и на VS и на билдер и пр.? и с чего начать чтоб разобраться с этими...

СМА AEG 41030 913729401 вход в тест, Стиралка не включается , в тест не входит
Всем привет стиралка AEG 41030 913729401 Typ 93P22599 .Замок блокируется и стиралка стает в паузу. Платформа такая не встричалась. ...

9
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
26.05.2015, 03:48
Цитата Сообщение от Maximusprime Посмотреть сообщение
Как сами тесты сделать я представляю, единственное не знаю как осуществить вывод На экран вопроса и вариантов ответа из БД
Видимо плохо представляешь, что кода не видно.
Все начинается с БД, ее структуры (схемы).
Есть БД - начинаем программировать.
Делаем формы для наполнения БД инфой (вопросы, ответы на вопросы, пользователи и т.п.).
Делаем форму Теста и выдачи результата.
0
0 / 0 / 0
Регистрация: 25.05.2015
Сообщений: 4
26.05.2015, 18:44  [ТС]
Здравствуйте , начал делать программу на диплом в С++ Builder XE 8. Нужно сделать тесты,вопросы,варианты ответов, и правильный ответ находятся в БД. Сделал,чтоб вопросы с вариантами ответа (выбирать с помощью радиогруп)с первого до последнего выводились на экран,кнопка "старт_тест" для начала теста и переключения на след вопрос, кнопка "ту_Старт" для прохода теста сначала, и кнопка "Проверка" при каждом тесте проверяет правильно ли выбранное значение,за каждый правильный тест считается 1 балл. Подскажите пожалуйста как сделать чтоб выводилось определенное к-во (например 20) вопросов из Базы да еще и в рэндомном порядке,заранее благодарен.
вот код
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
47
48
49
50
51
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;  int i=1, ball=0;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Start_testClick(TObject *Sender)
{
 
          RadioGroup1->Items->Clear();
DBGrid1->DataSource->DataSet->RecNo = i;
Label1->Caption=DBGrid1->Columns->Items[1]->Field->AsString   ;
RadioGroup1->Items->Add(DBGrid1->Columns->Items[2]->Field->AsString);
RadioGroup1->Items->Add(DBGrid1->Columns->Items[3]->Field->AsString);
RadioGroup1->Items->Add(DBGrid1->Columns->Items[4]->Field->AsString);
RadioGroup1->Items->Add(DBGrid1->Columns->Items[5]->Field->AsString);
        i++;
        Proverka->Enabled=True;  Start_test->Enabled=False;
}
//---------------------------------------------------------------------------
void __fastcall TForm2::ProverkaClick(TObject *Sender)
{
if(  DBGrid1->Columns->Items[RadioGroup1->ItemIndex+2]->Field->AsString == DBGrid1->Columns->Items[6]->Field->AsString )
{Label2->Caption="Succes";ball++;} else {Label2->Caption="FALSE!!!!!";}
Proverka->Enabled=False; if(i==4){Label2->Caption="Ваш бал :" + IntToStr(ball);}
Start_test->Enabled=True;  if(i==4)
         {Start_test->Enabled=False; Proverka->Enabled=False;}
}
//---------------------------------------------------------------------------
void __fastcall TForm2::TostartClick(TObject *Sender)
{    i=1; ball=0;
    RadioGroup1->Items->Clear();
DBGrid1->DataSource->DataSet->RecNo = i;
Label1->Caption="";
//Label1->Caption=DBGrid1->Columns->Items[1]->Field->AsString   ;
/*RadioGroup1->Items->Add(DBGrid1->Columns->Items[2]->Field->AsString);
RadioGroup1->Items->Add(DBGrid1->Columns->Items[3]->Field->AsString);
RadioGroup1->Items->Add(DBGrid1->Columns->Items[4]->Field->AsString);
RadioGroup1->Items->Add(DBGrid1->Columns->Items[5]->Field->AsString);   */
}
//---------------------------------------------------------------------------
Миниатюры
Тест в Билдере  
0
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
27.05.2015, 09:08
Судя по картинке ты видимо меня плохо понял
Цитата Сообщение от Bit_Man Посмотреть сообщение
Все начинается с БД, ее структуры (схемы).
Добавлено через 12 минут
как минимум, Таблицы:
1. Темы (id_Тема, Номер, Наименование, Видимость)
2. Вопросы (id_Вопроса, id_Тема, Номер, Наименование, Видимость)
3. ОтветыНаВопросы (id_Ответ, id_Вопрос, Номер, Наименование, Правильный, Видимость
0
0 / 0 / 0
Регистрация: 25.05.2015
Сообщений: 4
27.05.2015, 10:56  [ТС]
Bit Man, мне не нужно так все усложнять. Достаточно будет одной таблицы. 1-я колонка которой будет вопрос 2-5 -варианты ответов и 6-я -правильный ответ. Все . Я сделал чтоб вопросы выскакивали по порядку с 1-ой по последнюю запись. Прошу подсказать как сделать это в случайном порядке. Вот база с всего одной таблицей и этого хватит(для конкретно моей работы).
Миниатюры
Тест в Билдере  
0
0 / 0 / 0
Регистрация: 25.05.2015
Сообщений: 4
30.05.2015, 12:52  [ТС]
Как я понял основной целью было не помочь, а просто блеснуть своими,как я подозреваю, не совсем обширными знаниями, спасибо что отнял мое время)
0
11 / 11 / 4
Регистрация: 17.06.2010
Сообщений: 438
30.05.2015, 19:23
Maximusprime, Интересно а в какой организации, и для какой специальности делается диплом, или регионе хотя бы? если не секрет
0
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
04.06.2015, 17:45
Цитата Сообщение от Maximusprime Посмотреть сообщение
мне не нужно так все усложнять
не думаю, что это так сложно. Мой препод бы за такой диплом поставил бы мне неуд. И раскритиковал бы его в пух и прах. Это не диплом, а с таким подходом максимум курсовая.
Цитата Сообщение от Maximusprime Посмотреть сообщение
Как я понял основной целью было не помочь, а просто блеснуть своими,как я подозреваю, не совсем обширными знаниями, спасибо что отнял мое время
Нет просто я сей час в отпуске и некогда сидеть на форуме ))))). Твоя задача решается в зависимости от подхода. Либо ты выбираешь рандомно через запрос (не знаю есть ли в Access такое, нужно уточнять) или программно.
0
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
05.06.2015, 07:38
Хммм... выклади сюда свою программу в смысле, что успел написать.
0
Модератор
 Аватар для D1973
9929 / 6467 / 2457
Регистрация: 21.01.2014
Сообщений: 27,423
Записей в блоге: 3
05.06.2015, 08:16
Цитата Сообщение от Maximusprime Посмотреть сообщение
мне не нужно так все усложнять.
Да это не усложнение, это просто указание на то, что у тебя неправильно спроектирована БД
Но, как говорится, хозяин-барин. Хочешь иметь костыль - вот он.
Цитата Сообщение от Maximusprime Посмотреть сообщение
Я сделал чтоб вопросы выскакивали по порядку с 1-ой по последнюю запись. Прошу подсказать как сделать это в случайном порядке.
В *.h файле перед объявлением класса формы
C++
1
2
3
#include <vector.h>
#include <algorithm>
using namespace std;
В *.h файле в секции private
C++
1
2
private:    // User declarations
        std::vector<int> nQuest;
В *.cpp файле, в каком-нибудь обработчике события
C++
1
2
3
int N = 10; //Вместо 10 пишешь количество твоих вопросов, т.е., по сути, кол-во записей в таблице
for(int i = 1; i <= N; i++) nQuest.push_back(i);
std::random_shuffle(nQuest.begin(), nQuest.end());
Вот, ты получил массив (точнее, вектор) номеров вопросов от 1 до N, который перемешан случайным образом.
Далее идешь по вектору и выбираешь из БД тот вопрос, номер которого соответствует элементу вектора
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.06.2015, 08:16
Помогаю со студенческими работами здесь

Можно ли создать тест в программе My Test Student и запустить этот тест через Delphi?
Здравствуйте! Мне нужна помощь! Я сейчас делаю курсовую, и мне нужно сделать тест, и я хотела бы узнать можно создать тест в программе My...

Тест: Тест на логику - (лучшее из когда-либо виденого)!
Нашёл классный тест, правда результат совсем не классный:( http://www.spishy.ru/test/27 Мой результат: У вас логическое мышление...

Тест на механическую понятливость. Тест Беннета
http://nazva.net/logic_test5/ Правильные ответы: 44 / 70 (62.9%) Описание: Ваш уровень развития общетехнических способностей очень...

Срезы в билдере
Здравствуйте. Нужна Ваша помощь. Есть код программы void __fastcall TForm1::Button2Click(TObject *Sender) { int t; int x; ...

Иконка в билдере
Вот пишу билдер. Все норм. В параметрах задал имя создающегося приложения Params.OutputAssembly = &quot;asff.exe&quot;; А собственно...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
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. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
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. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru