Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2011, 18:19   #1
_сергей_белко_
Новичок
Джуниор
 
Регистрация: 09.03.2010
Сообщений: 2
По умолчанию Простой тест на С++

Решил написать простой тест на С++ для учебных целей в институте.

Алгоритм таков:

Вопрос1 : Ответ1 Ответ2 Ответ3 Ответ4..
Вопрос2 : Ответ1 Ответ2 Ответ3 Ответ4..
....
ВопросN : Ответ1 Ответ2 Ответ3 Ответ4..

Вопросы хочу загружать из текстового файла, но не знаю как(

С чего начать?? как правильно реализовать?

В С++ я на начальном уровне(в классах разбираюсь)


Вот мои наброски:



TForm1 *Form1;
TRadioGroup *rgr1;
TButton *btn1;
TMemo *mem1;
class teststruc
{
public:
String vopros;
String otvet;
String 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="Kkak givesh?";
test[0].otvet="Tak sebe";
test[0].variant[0]="Horosho";
test[0].variant[1]="Ploho";
test[0].variant[2]="Ne ochen";
test[0].variant[3]="Tak sebe";
test[0].variant[4]="Normalno";

/*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 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(String(grade).c_str()," Vasha ocenka",MB_OK+MB_ICONSTOP+MB_TOPMOS T);
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;



Ругается в красной строке:

[BCC32 Error] Unit1.cpp(90): E2034 Cannot convert 'char *' to 'const wchar_t *'
[BCC32 Error] Unit1.cpp(90): E2342 Type mismatch in parameter 'Text' (wanted 'const wchar_t *', got 'char *')

Что может быть??
_сергей_белко_ вне форума Ответить с цитированием
Старый 28.02.2011, 18:25   #2
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Проблема в String(grade).c_str(), как я понял.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 28.02.2011, 18:36   #3
_сергей_белко_
Новичок
Джуниор
 
Регистрация: 09.03.2010
Сообщений: 2
По умолчанию

да, ты правильно понял.
что может быть??
_сергей_белко_ вне форума Ответить с цитированием
Старый 28.02.2011, 18:52   #4
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

http://tinyurl.com/4qen9og
Можно использовать wchar_t* _itow(int value, wchar_t* string, int radix)
Первый параметр (value) - это значение, которое необходимо преобразовать в строку. Второй (string) - буфер, в который будет помещен результат преобразования. А третий (radix) - основание системы счисления, в которой будет представлено число.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
простой COM-сервер RM_ Фриланс 1 10.01.2011 18:46
Паззл простой MonoLife Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 23.04.2009 15:42
Простой тест Kivik Мультимедиа в Delphi 2 20.01.2009 15:44
Простой вопрос Д'якон Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 10.03.2008 16:51