Diskusní fóra - Téma

Otázka - zodpovězená Téma: If v kombinaci s Mod - jak to funguje?

RSS Feed RSS Feed

Diskusní fóra > Visual Basic .NET (2005, 2008, 2010) > If v kombinaci s Mod - jak to funguje?

If v kombinaci s Mod - jak to funguje?

Datum: 29.8.2010 23:18
Autor: neregistrovaný (94.112.180.83)
Hodnocení autora: není
Příspěvků: 0
Ahoj, momentálně nemám přístup k PC a proto se chci se na něco zeptat


Dim i As Integer = 0
While podmínka
í += 1
If i Mod 1 Then
' Příkazy
ElseIf i Mod 2
' Příkazy
ElseIf i Mod 3
' Vypsat stav
End if
...
 
Můj dotaz zní - pokud je proměnná i třeba 6, splní se příkazy ve všech Ifech, nebo jen ten poslední? Jde o to, že se mi nesmějí splnit všechny příkazy, ale jen ten poslední blok, pokud je i 3,6,9,12,15... Půjde to takto, nebo se na to musí jinak? Díky
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Příspěvek odpovídá na otázku Re: If v kombinaci s Mod - jak to funguje?

Datum: 29.8.2010 23:58
Autor: Tomáš Herceg
Hodnocení autora: 1673
Příspěvků: 3536
U konstrukce If...ElseIf...ElseIf...End If se vždy splní první podmínka, která vyhovuje, ostatní se ignorují.
Pokud chcete splnit všechny, udělejte je jako samostatné IFy za sebou. Pokud chcete splnit jen poslední, uveďte podmínky v obráceném pořadí (nejdřív Mod 3, pak Mod 2 atd.).
Dělat Mod 1 je úplně zbytečné, vždycky to vrátí 0 a podmínka se nikdy nesplní.

A mimochodem podmínka by měla být typu Boolean, ale vy tam cpete Int. i Mod 2 dá výsledek typu Int, vy chcete Boolean.
Mod vrací zbytek, to znamená i je dělitelné 2, pokud i Mod 2 = 0. A tohle musíte testovat.
 
           [Odpovědět]
 
Hodnocení: 1 Čekejte, prosím...

Re: If v kombinaci s Mod - jak to funguje?

Datum: 30.8.2010 9:40
Autor: neregistrovaný (94.112.180.83)
Hodnocení autora: není
Příspěvků: 0
Děkuji, až budu na PC, obrátím to.

Jen mi není jasné, proč říkáte, že se tam hodí Boolean, když jsou 3 podmínky, ne jen 2 (na true a false), tudíž by musely být 2 Booleany a to se mi zdá zbytečné.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: If v kombinaci s Mod - jak to funguje?

Datum: 30.8.2010 9:40
Autor: Ondřej Ondryáš
Hodnocení autora: 100
Příspěvků: 237
Jelikož podmínky testují Boolean tak to musí být třeba takto:


If i Mod 2 = něco 
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: If v kombinaci s Mod - jak to funguje?

Datum: 30.8.2010 9:58
Autor: neregistrovaný (94.112.180.83)
Hodnocení autora: není
Příspěvků: 0
Myslel jsem, že to půjde i takto, podmínky totiž měly zjistit, zda je i dělitelné daným číslem a podle toho plnit úkoly :). Pak toto úplně překopu
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...
 

VBNET.CZ | © 2007 Tomáš Herceg, Tomáš Jecha | Kopírování a přejímání jakéhokoliv obsahu z tohoto webu je bez písemného svolení autorů zakázáno.