Форум программистов, компьютерный форум CyberForum.ru

Переход к нужному выбору - C++

Восстановить пароль Регистрация
 
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
18.08.2012, 13:38     Переход к нужному выбору #1
У меня есть конструкция switch, в которой достаточно много элементов. Мне надо чтобы при выполнении определенного условия автоматически осуществлялся переход к нужному case.
???

Добавлено через 2 минуты
Вот к примеру:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int ch, i=1;
 
switch(ch) {
 
//Если i==0 то перейти к 3 позиции без ввода ch
case 1: 
{
 
}
 
case 2: 
{
 
}
 
case 3: 
{
 
}
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2012, 13:38     Переход к нужному выбору
Посмотрите здесь:

C++ Помогиете решыть в C++ задачу оператором множынного выбору
Можно ли разбить строки на слова при strtok и обратиться к нужному слову? C++
C++ Доступ к нужному биту через битовые поля
C++ Можно ли привести объект неизвестного типа к нужному по его имени?
C++ В качестве f(x) использовать по выбору: sin(x), х , ех
C++ Как присвоить нужному элементу в матрице значение первого или последнего элемента?
Вывести на экран круг или квадрат (по выбору пользователя) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6470 / 2245 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
18.08.2012, 13:40     Переход к нужному выбору #2
При выборе определенного условия выставляй значение, чтобы switch выбирал правильно. Либо опиши вопрос подробнее, потому что нифига не понятно, в чем именно загвоздка.

Добавлено через 1 минуту
C
1
2
3
4
switch(i)
{
   case 0...
}
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
18.08.2012, 13:43  [ТС]     Переход к нужному выбору #3
Цитата Сообщение от Vourhey Посмотреть сообщение
При выборе определенного условия выставляй значение, чтобы switch выбирал правильно. Либо опиши вопрос подробнее, потому что нифига не понятно, в чем именно загвоздка.

Добавлено через 1 минуту
C
1
2
3
4
switch(i)
{
   case 0...
}
Просто когда я прописываю ch==3 (если условие выполняется), то все равно с меня требуют чтоб я ввел ch, а мне надо чтобы автоматически переходил к 3 выбору

Добавлено через 1 минуту
Мне нужно именно переменная ch и i. В switch именно ch
KostyaKulakov
Заблокирован
18.08.2012, 14:05     Переход к нужному выбору #4
некому это не показывайте, я вам этого не давал.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
int ch, i=1;
 
 
if( i == 0 )
goto a;
 
switch(ch) {
 
//Если i==0 то перейти к 3 позиции без ввода ch
case 1: 
{
 
}
 
case 2: 
{
 
}
 
case 3: 
{
 a:
 cout << "hello";
 break;
}
 
 
}
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
18.08.2012, 14:19     Переход к нужному выбору #5
может так сойдет?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void case3(){
   ...
}
...
int ch;
int i=1;
//Если i==0 то перейти к 3 позиции без ввода ch
if (i == 0){
  case3();
} else {
  switch(ch) {
  case 1: 
    ...
    break;
  case 2: 
    ...
    break;
  case 3: 
    case3();
    break;
  case 4: 
    ...
    break;
  default: 
    ...
  }
}
KostyaKulakov
Заблокирован
18.08.2012, 14:30     Переход к нужному выбору #6
Цитата Сообщение от novi4ok Посмотреть сообщение
может так сойдет?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void case3(){
   ...
}
...
int ch;
int i=1;
//Если i==0 то перейти к 3 позиции без ввода ch
if (i == 0){
  case3();
} else {
  switch(ch) {
  case 1: 
    ...
    break;
  case 2: 
    ...
    break;
  case 3: 
    case3();
    break;
  case 4: 
    ...
    break;
  default: 
    ...
  }
}
хм вот этот вариант будет в 10000 раз лучше чем мой c goto. лучше этот используйте

Добавлено через 9 минут
тк. goto не принято использовать с++. он очень сильно путает код и распознование визуально. его используют только к крайних случаях.
Игорь с++
 Аватар для Игорь с++
431 / 454 / 16
Регистрация: 26.01.2011
Сообщений: 2,031
18.08.2012, 14:30     Переход к нужному выбору #7
Цитата Сообщение от KostyaKulakov Посмотреть сообщение
хм вот этот вариант будет в 10000 раз лучше чем мой c goto.
Да тем более , что использовать goto является дурным тоном , т.к. очень трудно в следствии проследить весь алгоритм программы ,и доказанно , что любую программу с goto можно написать по нормальному.
KostyaKulakov
Заблокирован
18.08.2012, 14:31     Переход к нужному выбору #8
Цитата Сообщение от KostyaKulakov Посмотреть сообщение
тк. goto не принято использовать с++. он очень сильно путает код и распознование визуально. его используют только к крайних случаях.
вы наверно это не прочитали?
именно по этому я и написал, что некому код не показывайте.
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
18.08.2012, 14:33     Переход к нужному выбору #9
Цитата Сообщение от KostyaKulakov Посмотреть сообщение
хм вот этот вариант будет в 10000 раз лучше чем мой c goto. лучше этот используйте
я не боюсь goto, хотя и не использую. но в этом случае не уверен, что без выполнения switch () правильно сработает break; что там за код построит какой компилятор? просто не люблю, когда головоломки без спросу.
KostyaKulakov
Заблокирован
18.08.2012, 14:35     Переход к нужному выбору #10
Цитата Сообщение от novi4ok Посмотреть сообщение
я не боюсь goto, хотя и не использую. но в этом случае не уверен, что без выполнения switch () правильно сработает break; что там за код построит какой компилятор? просто не люблю, когда головоломки без спросу.
сам себя запутал. именно по этому не рекомендую использовать этот goto
Игорь с++
 Аватар для Игорь с++
431 / 454 / 16
Регистрация: 26.01.2011
Сообщений: 2,031
18.08.2012, 14:37     Переход к нужному выбору #11
Цитата Сообщение от KostyaKulakov Посмотреть сообщение
именно по этому я и написал, что некому код не показывайте
Вы конечно меня извени те , но если вы согласны со мной по поводу goto то и изначально не надо было предлогать такой подход.
KostyaKulakov
Заблокирован
18.08.2012, 14:40     Переход к нужному выбору #12
Цитата Сообщение от Игорь с++ Посмотреть сообщение
Вы конечно меня извени те , но если вы согласны со мной по поводу goto то и изначально не надо было предлогать такой подход.
конечно согласен. я именно по этому и сказал, что не надо использовать goto. а вариант который предложил, использовать на в только крайнем случаее.
4iFF
 Аватар для 4iFF
19 / 19 / 1
Регистрация: 06.07.2012
Сообщений: 88
18.08.2012, 15:15     Переход к нужному выбору #13
Цитата Сообщение от novi4ok Посмотреть сообщение
case3();
Я не знал что так можно спасибо!
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
18.08.2012, 15:28     Переход к нужному выбору #14
Цитата Сообщение от 4iFF Посмотреть сообщение
Я не знал что так можно спасибо!
Ты не знал, что можно вызывать функцию? или что?)
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
18.08.2012, 16:05     Переход к нужному выбору #15
Цитата Сообщение от KostyaKulakov Посмотреть сообщение
сам себя запутал. именно по этому не рекомендую использовать этот goto
хорошо, костя, догорились. не буду (только потому что ты не рекомендуиш)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2012, 16:06     Переход к нужному выбору
Еще ссылки по теме:

Нужен совет по выбору литературы C++
C++ Нужен совет по выбору языка программирования для front-end-a
Несколько воп росов по выбору компилятора для новичка C++
C++ Прошу совета по выбору API для изучения
C++ Определение принадлежности объекта нужному классу

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
KostyaKulakov
Заблокирован
18.08.2012, 16:06     Переход к нужному выбору #16
Цитата Сообщение от novi4ok Посмотреть сообщение
хорошо, костя, догорились. не буду (только потому что ты не рекомендуиш)
а это правильно.
Yandex
Объявления
18.08.2012, 16:06     Переход к нужному выбору
Ответ Создать тему
Опции темы

Текущее время: 21:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru