Твой софтовый форум > Тематические форумы > Программирование

C++ и C++Builder6

,

Не понимаю, помогите.

Дата публикации: 26.01.2007 - 19:30
Pages: 1, 2
korzhavin
Учусь я! wink.gif

Помогите разобраться с проблемкой.
Есть две проги, одна под ДОСом работает, а другая в винде нет.
Вот первая - работает
QUOTE
#include

void main(void)

{
  long value;
  cout << "Введите большое число и нажмите Enter: ";
  cin >> value;
  cout << "Было введено число " << value << endl;
}

А вот эта нет mad.gif
QUOTE
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int test ;
  Edit1->Text = test ;
    if (test >= 90)
        {
        ListBox1->Items->Append ("Ïîçäðàâëÿåì, âû ïîëó÷èëè À!");
        ListBox1->Items->Append ("Âàøè òåñòîâûå î÷êè áûëè " );
        }
    else
          {
        ListBox1->Items->Append ( "Âû äîëæíû ðàáîòàòü óñåðäíåå!");
        ListBox1->Items->Append ( "Âû ïîòåðÿëè ") , 100 - test, (" î÷êîâ ");
          }

Помогите.
yah
У меня C++Builder6 ругается на "кряказябры" только. Если их заменить на нормальный текст, то все норм.
korzhavin
На "каракули" можно не смотреть.
Сам синтаксис языка?
В Edit1 вводим "88" или "99", в окошке "3" выскакивает.
А прога if - else не пашет.
Я правильно указал
QUOTE
(  Edit1->Text = test ; )?
newmailqu
вместо Edit1->Text = test ;
Edit1->Text = IntToStr(test) ;

и для порядку можно было б присвоить значение этому test какое нить
yah
CODE

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int test;
test=StrToInt(Edit1->Text);

   if (test>= 90)
       {
       ListBox1->Items->Append ("Больше 90");
       }
   else
         {
       ListBox1->Items->Append ( "Меньше 90");
        }
}



А что было не правильно у тебя:

Ты создаешь переменную test
QUOTE
int test;


Затем присваиваешь ее значение Edit'у
QUOTE
Edit1->Text = test ;


И в уловии ставишь
QUOTE
if (test >= 90)


Но так как ты не инициализировал переменную test, то ее значение не изменяется. Поэтому и условие не срабатывает.
korzhavin
Благодарю Вас.
А вот еще.
Как вывести 2,3, ... n данных в строку?
У меня не получается.
QUOTE
ListBox1->Items->Append  ( 100 - test), " очков ";

Выводится только первое (100-test) (ну что получится от вводимого числа)
yah
Поконкретнее расскажи...
yah
QUOTE
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int test;
test=StrToInt(Edit1->Text);

  if (test>= 90)
      {
      ListBox1->Items->Append(IntToStr(test)+" Больше 90");
      }
  else
        {
      ListBox1->Items->Append (IntToStr(test)+" Меньше90");
        }
}

korzhavin
СПАСИБО yah.
Теперь всё понятно.


Тему закрываем. smile.gif
yah
Теперь у меня проблема =)

MSVC++ (все норм)
QUOTE
{
................................
...............................
EnumChildWindows(chat_form_hwnd,&EnumChildWindowsProc,0);
}

BOOL CALLBACK EnumChildWindowsProc(HWND hwnd, LPARAM lParam)
{
static char N=0;
switch(++N)
{
case 5:chat_btn_hwnd=hwnd;
  break;
case 7:chat_memo_hwnd=hwnd;
  break;
  return 0;
}
return 1;
}



А вот в БорландС++6 возникают проблемы при компиляции
QUOTE
EnumChildWindows(chat_form_hwnd,&EnumChildWindowsProc,0);

[C++ Error] Unit1.cpp(34): E2034 Cannot convert 'int (__stdcall *)(void *,long)' to 'int (__stdcall *)()'


Что этому гаду нужно, чтоб все заработало? =)
Pages: 1, 2


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: C++ и C++Builder6
SoftoRooM © 2004-2024