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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2012, 10:54   #1
millepetrozza
Пользователь
 
Регистрация: 22.09.2012
Сообщений: 33
По умолчанию Вопрос по переключателю.

Вероятноо ли с помощью функции switch (i) реализовать возможность одновременного выбора таких параметров, как i<0, i=4 (интерес представляет именно i<0). Если да то как это сделать? Как в физической литературе, так и в статьях в интернете не удалось найти ответ, как это сделать.
millepetrozza вне форума Ответить с цитированием
Старый 23.09.2012, 11:19   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
одновременного выбора таких параметров, как i<0, i=4
А как i может быть одновременно менее нуля и равным 4-м?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.09.2012, 11:22   #3
millepetrozza
Пользователь
 
Регистрация: 22.09.2012
Сообщений: 33
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А как i может быть одновременно менее нуля и равным 4-м?
Выразился не верно. Один вариант выбора меньше нуля, а второй четыре.
millepetrozza вне форума Ответить с цитированием
Старый 23.09.2012, 11:43   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Один вариант выбора меньше нуля, а второй четыре.
Извини, но не понятно по прежнему
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.09.2012, 11:43   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,342
По умолчанию

Нет, switch такого не умеет, используйте if
waleri вне форума Ответить с цитированием
Старый 23.09.2012, 12:16   #6
millepetrozza
Пользователь
 
Регистрация: 22.09.2012
Сообщений: 33
По умолчанию

Хотел переписать программу, не делая каши из "if" и "else", для вычисления корней квадратного уравнения вида (a*x^2+b*x+c=0):

....
if (a=0)
x=-c/b; else
{switch (Discriminant)
{
case 0: x=-b/(2*a);
case // Дискриминант меньше нуля, и дальше ход действий в этом случае
case // Дискриминант больше нуля, и т.д.
}
}
....

Ну, раз нельзя так, то тогда уже нельзя. Спасибо за помощь

Последний раз редактировалось millepetrozza; 23.09.2012 в 12:17. Причина: пунктуация
millepetrozza вне форума Ответить с цитированием
Старый 23.09.2012, 12:41   #7
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Если нельзя, но очень хочется, то можно (но не нужно).
Код:
switch ((Discriminant > 0) - (Discriminant < 0))
{
case -1: // меньше нуля
case 0: // ноль
case 1: // больше нуля
}
Somebody вне форума Ответить с цитированием
Старый 23.09.2012, 13:41   #8
millepetrozza
Пользователь
 
Регистрация: 22.09.2012
Сообщений: 33
По умолчанию

Довольно интересный подход.
millepetrozza вне форума Ответить с цитированием
Старый 24.09.2012, 13:33   #9
monster-bonster
Пользователь
 
Аватар для monster-bonster
 
Регистрация: 27.06.2012
Сообщений: 38
По умолчанию

Код:
switch(i) {
  case 4 :
    ...
    break;

  default :
    if (i < 0)
      ...
    break;
}
Попробуйте это!
monster-bonster вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос! ddiggrizz C++ Builder 11 30.03.2012 17:04
Вопрос smrka Microsoft Office Excel 2 16.06.2011 12:23
Вопрос по mySQL + Вопрос по RichEdit HTL Общие вопросы Delphi 4 01.01.2010 20:22
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10