jak porównać liczby w instrukcji switch-case.
Ostatnio zmodyfikowano 2017-08-20 14:51
Corvette653 Temat założony przez niniejszego użytkownika |
jak porównać liczby w instrukcji switch-case. » 2017-08-20 14:23:42 Mam problem z tym oto fragmentem kodu:
switch ( liczba ) { case (liczbaz) : ...
muszę sprawić aby case wykonał się gdy: liczba = liczbaz
2 case: liczba > liczbaz
3 case: liczba < liczbaz
liczba i liczbaz są oczywiście zmiennymi typu int. Z góry dziękuje za pomoc :) |
|
pekfos |
» 2017-08-20 14:27:20 switch( sgn( liczba - liczbaz ) ) { case - 1: break; case 0: break; case 1: break; } sgn() to matematyczna funkcja signum. Musisz ją sobie sam napisać. |
|
mateczek |
» 2017-08-20 14:29:09 lub zrezygnuj z "case", na rzecz zwykłego "if" |
|
Corvette653 Temat założony przez niniejszego użytkownika |
odpowiedź » 2017-08-20 14:43:42 nie mogę zrezygnować z case ponieważ zależnie od użytkownika muszą się wykonać trzy różne warianty. a co do sgn to prosiłbym o dokładniejszy post ponieważ nie umiem tego używać. liczba jest tworzona przez rand (losowo) a liczbaz wpisywana przez użytkownika dlatego musze posługiwać się zmiennymi a nie konkretnymi wartościami. kompilator wyświetla mi dwa błędy: 1.expected primary-expression before '<' token. przy linijce: case > liczbaz; i case < liczbaz; 2.'liczbaz' cannot appear in a constant-expression. przy wszystkich case. |
|
maly7 |
» 2017-08-20 14:51:46 nie mogę zrezygnować z case ponieważ zależnie od użytkownika muszą się wykonać trzy różne warianty. Chyba nie zrozumiałem dokładnie, ale dlaczego nie możesz użyć if'a? if( liczba > liczbaz ) {...} else if( liczba < liczbaz ) {...} else {...}
|
|
« 1 » |