Gde je greška u kodu za upoređivanje dva broja?

Gde je greška u kodu za upoređivanje dva broja?

offline
  • Pridružio: 28 Avg 2009
  • Poruke: 196

If Kutija.Text <= 2 Then Kutija.Text = "Broj je manji od dva" If Kutija.Text >= 2 Then Kutija.Text = "Broj je veći od dva"
Gde je greška šta bi trebao da dodam u ovoj liniji koda else i kako?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 15 Apr 2012
  • Poruke: 141

Najbolje je da resis ovako:

If TextBox1.Text < 2 Then             TextBox1.Text = "Broj je manji od dva"         Else             If TextBox1.Text > 2 Then                 TextBox1.Text = "Broj je veci od dva"             Else                 TextBox1.Text = "Broj je 2"             End If         End If
Samo sam ja ovde pisao TextBox umesto kutija



offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4575

Vi upoređujete dužinu upisanog teksta, a ne tekst. Taj tekst je podrazumevano string, ne možete ga upoređivati sa celobrojnom vrednošću tek tako.

If Convert.toInt32(TextBox1.Text) < 2 Then     TextBox1.Text = "Broj je manji od dva" ElseIf Convert.toInt32(TextBox1.Text) > 2 Then     TextBox1.Text = "Broj je veći od dva" Else     TextBox1.Text = "Broj je dva" End If

@bolepks, inače znak <= znači manje i jednako Wink

offline
  • Pridružio: 28 Avg 2009
  • Poruke: 196

Napisano: 09 Jul 2016 18:08

Odli;no je ovo ali kada ništa ne ukucam u Text.box zablokira program ili kada ukucam 2 umesto da kaže dva inače kaže da je veći od dva ili ti manji od 2.

Dopuna: 09 Jul 2016 18:10

Rešeno kaže da je broj dva osim kada ne ukucam ništa blokira da li da stavim
If Kutija.Text = "" Then Kutija.Text = "Postavi pitanje!"

Dopuna: 09 Jul 2016 18:16

Objasnite mi logiku koliko može if-ova pa odna else, pa kada ide endi if tu mi malo nije jasno mada razumem if ako than onda else tad

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4575

Kada započneš If petlju moraš da je završiš sa End If. Struktura je ova:

If [izraz] Then     [uradi to i to] ElseIf [izraz] Then     [uradi to i to] Else     [uradi to i to] End If

Kod u Else bloku se izvršava ako ni jedan od prethodnih slučajeva nije zadovoljen.

offline
  • Pridružio: 14 Feb 2008
  • Poruke: 12391

 Dim vrednost As Integer         If tbUnos.Text.Length > 0 Then             If Not Int32.TryParse(tbUnos.Text, vrednost) Then                 MsgBox("Uneta vrednost prvog polja nije broj !")             Else                 If vrednost < 2 Then                     MsgBox("Vrednost je manja od 2 !")                 ElseIf vrednost > 2 Then                     MsgBox("Vrednost je veća od 2")                 Else                     MsgBox("Vrednost je 2")                 End If             End If         Else             MsgBox("Niste uneli vrednost u polje !")         End If

Int32.TryParse je funkcija koja vraća boolean vrednost.
Ako uspešno završi posao konvertovanja vratiće true, u suprotnom false.
Zbog toga možemo da je stavimo unutar uslova, nakon if.

Prvo proverimo da li je broj karaktera u polju teksta veći od 0, ako jeste možemo nastaviti dalje.
Onda pokušamo da konvertujemo te karaktere u integer.
Ako konvertovanje ne uspe obavestimo korisnika da je uneo neki karakter koji nije broj u tekst polje.

Ako uspe, onda možemo da proverimo da li je vrednost broja 2, veća od 2 ili manja od 2.

Na kraju se vraćamo na prvi uslov, ako nema ničega u polju obavestimo korisnika da nije ništa napisano. To je ujedno i prva prepreka u kodu. Ako nema ničega program odmah preskače sve ostalo i obaveštava korisnika da mora uneti neku vrednost.

Ko je trenutno na forumu
 

Ukupno su 477 korisnika na forumu :: 3 registrovanih, 2 sakrivenih i 472 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: cikadeda, sasa76, vukovi