Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2011, 11:55   #1
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию Равенство какому-то промежутку

Есть в ли в C аналог паскалевского сравнения n=1..5 (к примеру), т.е.
если н = от 1 до пяти то сделать что-то
или же единственный вариант
если н>0 && н<6 то сделать что-то

PS на вопрос чем меня не устраивает больше и меньше ,отвечу ,что мне нужно использовать это сравнение в switch

Последний раз редактировалось Hemul; 23.01.2011 в 11:59.
Hemul вне форума Ответить с цитированием
Старый 23.01.2011, 12:00   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
n=1..5
это давно ли в паскале есть такое?
n in [1..5] знаю.

Код:
#define IN_INT(var,min,max) ((var>=min)&&(var<=max))
потом пишем:
Код:
if(IN_INT(n,1,5))...
Цитата:
PS на вопрос чем меня не устраивает больше и меньше ,отвечу ,что мне нужно использовать это сравнение в switch
тут другое.

case(1):
case(2):
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.01.2011, 12:09   #3
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

т.е. в switch() придется описывать каждую цифру отдельно?
Hemul вне форума Ответить с цитированием
Старый 23.01.2011, 12:11   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Код:
functint(int n)
{
  switch(n)
  { 
    case:0: {//чё то там//break;}
    case:1:{// и ещё чёто-там; break;}
  } 
}
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 23.01.2011, 12:15   #5
Koshmarovsky
Пользователь
 
Аватар для Koshmarovsky
 
Регистрация: 09.05.2009
Сообщений: 25
По умолчанию

Вот так можно еще:
Код:
switch (n)
{
    case 1:
    case 2:
    //...
    case 5:
    {
        // Код
        break;
    }
}
Ну, это при условии, что если 0<n && n<6 выполняется одно и то же действие
Иногда мне кажется, что компилятор просто игнорирует все мои комментарии. (с) Bash.org.ru

Последний раз редактировалось Koshmarovsky; 23.01.2011 в 12:18.
Koshmarovsky вне форума Ответить с цитированием
Старый 23.01.2011, 12:18   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

тем не менее это ручное прописывание.

надо посмотреть на предмет цикла в препроцессоре
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
условие на равенство дат segail Microsoft Office Excel 26 29.08.2010 21:31
Сумма цифр чисел, принадлежащих промежутку [1..100000] decantnik Помощь студентам 4 11.03.2010 15:16
Моя БД нарушает гендерное равенство. kapitel_bc@ukr.net Microsoft Office Access 9 08.03.2010 13:52
Равенство трех переменных k1r1ch Общие вопросы C/C++ 3 23.02.2010 20:54
Равенство по цвету snakezx Microsoft Office Excel 1 30.03.2009 12:11