Помощь - Поиск - Пользователи - Календарь
Полная версия: case of + сравнение чисел
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
compiler
Добрый день!
как можно(если можна) сравнить 2 числа с помощью case of.
заранее благодарен.
mamont001
А обязательно case?
Если да,то

{♂☺☺☺☻☺☺☺♂}
case (x1<x2) of
true:{Если верно}
else {в противном случае}
{♂☺☺☺☻☺☺☺♂}


Если ты это имееш в виду...
volvo
Можно:
var a, b: double;
begin
a := 23.2; b := 23.4;
case byte((a - b) > 0) of
0:
case byte((a - b) < 0) of
1: writeln('a < b');
0: writeln('a = b');
end;


1: writeln('a > b');
end;
end.

Только зачем?
compiler
здорово было бы если можно было написать
var a, b: double;
begin
a := 23.2; b := 23.4;
case (a сравн b) of
0:writeln('a > b');
1: writeln('a < b');
2: writeln('a = b');
end;
end.


читабильно (по-крайне мере для меня)... наверно надо создавать свой объект... но тогда это будет не понятно другим..
volvo
Цитата
наверно надо создавать свой объект...
blink.gif blink.gif
var a, b: double;
begin
a := 23.4; b := 23.4;

case byte((a - b) > 0) + 2 * byte((a - b) < 0) of
0: writeln('a = b');
1: writeln('a > b');
2: writeln('a < b');
end;
end.
Malice
Цитата(compiler @ 28.04.2007 20:03) *

здорово было бы если можно было написать

case byte(a>=b)-byte(a<=b)+1 of
0: writeln ('<');
1: writeln ('=');
2: writeln ('>');
end;


ps Не успел smile.gif
compiler
Цитата(volvo @ 28.04.2007 19:08) *

begin
...
end.

спасибо

собственно еще что лучше писать через if или case, как показал volvo, с точки зрения стиля...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.