Intrukcja if

Ziomal_PL

Użytkownik
Dołączył
Wrzesień 26, 2006
Posty
9
No to tak, chce powiedzmy zrobić program który po wpisaniu liczby od 1 do 10 napisze Ok.
Jeśli będzie inna cyfra/liczba to się pokaże Źle.
Jak to zrobić ?
<

Bo chyba nie trzeba non-stop powtarzać komendy if, ja tak to robiłem... i tu się pojawiają moje dwa pytanie. Chodzi mi o to czy nie da się jakoś zrobić żeby odrazu "łapało" liczby od 1 do 10. A inne znaki odpowiadało na nie... Trochę namieszałem.
Wielki dziękie za pomoc:)

Kod:
void __fastcall TForm1::Edit1Change(TObject *Sender)

{

 if (Edit1->Text=="1")

   {

   ShowMessage("Dobrze!");

   }

 if (Edit1->Text=="2")

  {

  ShowMessage("Dobrze!");

  }

 if (Edit1->Text=="3")

  {

 ShowMessage("Dobrze!");

  }

 if (Edit1->Text=="4")

  {

  ShowMessage("Dobrze!");

  }

 if (Edit1->Text=="5")

   {

   ShowMessage("Dobrze!");

   }

 if (Edit1->Text=="6")

  {

  ShowMessage("Dobrze!");

  }

 if (Edit1->Text=="7")

   {

   ShowMessage("Dobrze!");

   }

 if (Edit1->Text=="8")

  {

  ShowMessage("Dobrze!");

  }

 if (Edit1->Text=="9")

   {

   ShowMessage("Dobrze!");

   }

Pytanie dałem na samym dole...
<
 

M1ch00

Użytkownik
Dołączył
Sierpień 22, 2006
Posty
609
Kursy c++ ukradli, google zamknęli, oj, biedny ty...

Jeżeli musimy porównać jakąś wartość z n możliwości to zawsze czytelniej i łatwiej jest:
Kod:
int a=StrToInt(Edit1->Text);//zapisujemy inta, jak jest tam coś innego to rzuca info

switch (a)

{

  case 1:

    ShowMessage("1");

  break;

  case 2:

    ShowMessage("2");

  break;

  case 3:

    ShowMessage("3");

  break;

  default:

     ShowMessage("Coś innego.");

  break;

}
Ale w tym wypadku chcemy tylko sprawdzić, czy wartość mieści się w zakresie 1..10:
Kod:
int a=StrToInt(Edit1->Text);//zapisujemy inta, jak jest tam coś innego to rzuca info

if(a>=1 && a<=10)

  ShowMessage("1-10!");

else

  ShowMessage("Coś innego.");
 

Ziomal_PL

Użytkownik
Dołączył
Wrzesień 26, 2006
Posty
9
No dobra, ale jeśli chce żeby sprawdzało liczby dopier po naciśnięciu Enteru w Edit1.
Albo po naciśnięciu innego Buttona?
<
 

killrathi

Użytkownik
Dołączył
Marzec 13, 2006
Posty
117
Originally posted by Ziomal_PL
No dobra, ale jeśli chce żeby sprawdzało liczby dopier po naciśnięciu Enteru w Edit1.
Albo po naciśnięciu innego Buttona?
<

łooo Jezuuuuu....
kup sobie jakas ksiazke i poczytaj troche a nie z kazda bzdura na forum pedzisz...
Odpowiedz na Twje pytanie: obsluz zdarzenia OnClick (Buttona) i OnKeyPress (DLa Edit)...
Kodu nie podam - pomysl troche
 

Ziomal_PL

Użytkownik
Dołączył
Wrzesień 26, 2006
Posty
9
Ok , zrobiłem to.
Ale tu nachodzi moje następne pytanie...
<

Jeśli w polu Edit1 wpisze jakąś litere,znak specjalny lub nacisne Backspace to się pojawia błąd... np. "@ is not a valid integer value"
 

M1ch00

Użytkownik
Dołączył
Sierpień 22, 2006
Posty
609
Zmodyfikować ogólnoświatowe standardy tak, żeby '@' było liczbą całkowitą.
Użyć try ... catch.
Przykład masz w pliku [nazwa projektu].cpp.
 
Do góry Bottom