Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: [VB.NET] Koodin ohitusta

timo80 [15.10.2008 10:45:22]

#

Moro,

elikäs tämmönen tapaus:

'1010
if value1.text = 1010 then valuetot = 20 / value2 / 5 * 10^3 else valuetot = value1.text / value2 / 5 * 10^3
'2020
if value1.text = 2020 then valuetot = 40 / value2 / 5 * 10^3 else valuetot = value1.text / value2 / 5 * 10^3
'3030
if value1.text = 3030 then valuetot = 60 / value2 / 5 * 10^3 else valuetot = value1.text / value2 / 5 * 10^3

valuetot * 50....

Tarkoituksena olisi kun value1.text on 2020, ohjelma suorittaa rivin ja hyppää loppuun (valuetot *50), eikä lue enään 3030 riviä.

K_L [15.10.2008 11:18:10]

#

kokeileppas rakennetta

if 1010

else if 2020

else if 3030

ei mene enää '3030

Tutustu myös switch case rakenteeseen.

Metabolix [15.10.2008 11:23:29]

#

Aivan. Toistat samaa else-lausetta joka rivin perässä, jolloin se suoritetaan jokaisen toteutumattoman ehdon kohdalla. Tee K_L:n neuvon mukaan ja laita tuo oma else-lauseesi vasta aivan viimeiseksi. Kun ehdot ovat yhtäsuuruusehtoja eivätkä epämääräisempiä vertailuja (<, >, <= jne.), kannattaa kuitenkin käyttää case-rakennetta if-lauseiden sijaan.

timo80 [15.10.2008 12:16:13]

#

Kiitoksia!

groovyb [15.10.2008 19:49:56]

#

Select casea

Select Case value1.text

       Case 1010

            valuetot = 20 / value2 / 5 * 10^3 else valuetot = value1.text / value2 / 5 * 10^3

       Case 2020

             etc.

       Case 3030

             etc.

End Select

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta