Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как написать тест на С++ 
:(
    Опции темы
Kreyg
  Дата 19.3.2008, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 17.3.2008

Репутация: нет
Всего: нет



Плиз подскажите как тест написать?тож для инста надо/
Надо чтоб было примерно так:

Вотрос1?

ответ 1 
ответ 2
ответ 3
ответ 4 
ответ 5

чтоб после тиканья на радио кнопку  и next, он след вопрос выводил и считал как нить правильные, 
например 5 вопросов 1,2 правельно- неуд, 3 - уд, 4 - хор, 5- отл в конце чтоб сообшил результат

помогите плиз smile 

З.Ы. Я ваще нуб smile 
PM MAIL   Вверх
vivat
Дата 19.3.2008, 06:35 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 6.4.2006
Где: Томск

Репутация: 2
Всего: 2



Не пинать ногами!
Переделал свою старую задачу специально под вопрос. Вместо базы ввёл структуру.
И количественные оценки тоже поменял.
Получилось глуповато, но предлагаю использовать только идею (в общих чертах).
Код

TForm1 *Form1;
//TRadioGroup *rgr1;
//TButton *btn1;
//TMemo *mem1;
class teststruc
{
public:
  AnsiString vopros;
  AnsiString otvet;
  AnsiString variant[5];
  teststruc(){vopros="";otvet="";for(int i=0; i<5; ++i) variant[i]="";}
};
teststruc test[5];
int ItemIndex=-1;
int grade=0,Count=0;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner):TForm(Owner)
{
  test[0].vopros="Как живёшь?"; test[0].otvet="Так себе";
  test[0].variant[0]="Хорошо"; test[0].variant[1]="Плохо"; test[0].variant[2]="Не очень";
  test[0].variant[3]="Так себе"; test[0].variant[4]="Нормально";
  test[1].vopros="Как пишешь?"; test[1].otvet="Плохо";
  test[1].variant[0]="Хорошо"; test[1].variant[1]="Плохо"; test[1].variant[2]="Не очень";
  test[1].variant[3]="Так себе"; test[1].variant[4]="Нормально";
  test[2].vopros="Как читаешь?"; test[2].otvet="Хорошо";
  test[2].variant[0]="Хорошо"; test[2].variant[1]="Плохо"; test[2].variant[2]="Не очень";
  test[2].variant[3]="Так себе"; test[2].variant[4]="Нормально";
  test[3].vopros="Как видишь?"; test[3].otvet="Хорошо";
  test[3].variant[0]="Хорошо"; test[3].variant[1]="Плохо"; test[3].variant[2]="Не очень";
  test[3].variant[3]="Так себе"; test[3].variant[4]="Нормально";
  test[4].vopros="Как учишь?"; test[4].otvet="Не очень";
  test[4].variant[0]="Хорошо"; test[4].variant[1]="Плохо"; test[4].variant[2]="Не очень";
  test[4].variant[3]="Так себе"; test[4].variant[4]="Нормально";

  mem1->Clear();
  rgr1->ItemIndex=-1; rgr1->Items->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn1Click(TObject *Sender)
{
  if(ItemIndex>=0)
  {
    if(test[ItemIndex].variant[rgr1->ItemIndex]==test[ItemIndex].otvet) ++Count;
  }
  ++ItemIndex;
  mem1->Clear(); rgr1->ItemIndex=-1; rgr1->Items->Clear();
  if(ItemIndex > 4)
  {
    switch(Count)
    {
      case 1: case 2: grade=2; break;
      case 3: grade=3; break;
      case 4: grade=4; break;
      case 5: grade=5; break;
    }
    Application->MessageBox(AnsiString(grade).c_str(),"ВАША ОЦЕНКА",MB_OK+MB_ICONSTOP+MB_TOPMOST);
    ItemIndex=-1; Count=0; grade=0;
    return;
  }
  mem1->Text=test[ItemIndex].vopros;
  for(int i=0; i < 5; ++i)
    if(test[ItemIndex].variant[i]!="") rgr1->Items->Add(test[ItemIndex].variant[i]);
    else break;
}
//---------------------------------------------------------------------------

PM   Вверх
Kreyg
Дата 20.3.2008, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 17.3.2008

Репутация: нет
Всего: нет



Большое спасибо, я правда пока не разобралсо, все таки совсем нуб.
А как с базой сделать?
PM MAIL   Вверх
Kreyg
Дата 23.3.2008, 06:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 17.3.2008

Репутация: нет
Всего: нет



Уря с тем вариантом что ты написал разабралсо, а как сделать чтоб с базой было?
ОГРАМАДНОЕ СПАСИБО smile 

Это сообщение отредактировал(а) Kreyg - 23.3.2008, 06:26
PM MAIL   Вверх
Kreyg
Дата 23.3.2008, 07:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 17.3.2008

Репутация: нет
Всего: нет



Все вроде сделал, но появился косяк если просто нажимать следуший вопрос то он шитает ответ как правельный а не как не правельный, как ето наоборот сделать? 
Плиз подскажите как сделать чтоб в если просто нажимаеш btn1, не выбирая не чего в rgr1, то шитаетсо не вернный ответ.

Это сообщение отредактировал(а) Kreyg - 24.3.2008, 01:20
PM MAIL   Вверх
Kreyg
Дата 24.3.2008, 03:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 17.3.2008

Репутация: нет
Всего: нет



Я его победил, правда через одно место все сделал, но победил. smile 
Но как то же самое с базой сделать все равно интересно, ибо вапросов на самом дделе поболее: 3 теста по 15 и 1 45 вопросов.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0911 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.