Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
IMtheSupervisor
1 / 1 / 3
Регистрация: 21.12.2014
Сообщений: 25
#1

Как выйти из условия if? - C++

25.03.2015, 12:26. Просмотров 944. Ответов 4
Метки нет (Все метки)

Пользователю предлагается выбор, он должен ввести 1 или 2. Я хочу учесть и ситуацию, когда пользователь ошибся, и,чтобы не перезапускать программу, мог бы исправить введенное значение. Но что-то никак не могу понять, как после "Wrong insert", введя число, заставить компилятор снова проверить первое условие if?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
std::cin >> a;
    if (a>2 || a<1)
    {
        std::cout << "Wrong insert, please try again\n";
        std::cin >> a; // вот он ввел снова, ведь нужно же теперь опять проверить, если это 1 или 2. 
 
    }
    else
        if (a = 1)
        {
            print(x, x + s, epsilon, &function1);
        }
        else
        {
            print(x, x + s, epsilon, &function2);
        }
Буду благодарна.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2015, 12:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как выйти из условия if? (C++):

рассмотреть указанную последовательность в цикле и выйти из цикла, достигнув указанного условия
рассмотреть указанную последовательность в цикле и выйти из цикла, достигнув...

do while - как выйти из цикла?
Подскажите пожалуйста, а то я уже всю голову &quot;сломал&quot;, почему при вводе &quot;А&quot;...

как выйти из программы
при выполнении программы - выполняется выбранная операция, после чего при...

Как выйти из программы
Написав щось подібне калькулятору. Але що написати щоб вийти з консолі?? буду...

как выйти из циклов
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt;...

Как выйти из функции
Прошу прощения. Произошел сбой при записи. Напишите еще раз суть задачи. То...

4
John Prick
831 / 764 / 256
Регистрация: 27.07.2012
Сообщений: 2,176
Завершенные тесты: 3
25.03.2015, 12:45 #2
IMtheSupervisor, проверку ввода поместить в цикл, условием выхода из которого - правильный ввод.

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
bool end = false;
while (!end)
{
    cin >> a;
    if ((a != 1) && (a != 2))
    {
        // неправильный ввод
    } else
    {
        // правильный ввод
        end = true;
    }
}
0
zss
Модератор
Эксперт С++
6950 / 6512 / 4133
Регистрация: 18.12.2011
Сообщений: 17,173
Завершенные тесты: 1
25.03.2015, 12:46 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
int a;
do
{
    std::cout<<"a=?";
    std::cin >> a;
    if (a>2 || a<1)
        std::cout << "Wrong insert, please try again\n";
 }while  (a>2 || a<1);
if (a == 1)   // !!!!!!!!!!!!!! ==  !!!!!!!!!!!!!
     print(x, x + s, epsilon, &function1);
else
    print(x, x + s, epsilon, &function2);
1
IMtheSupervisor
1 / 1 / 3
Регистрация: 21.12.2014
Сообщений: 25
25.03.2015, 12:51  [ТС] #4
Спасибо большое!!
1
John Prick
831 / 764 / 256
Регистрация: 27.07.2012
Сообщений: 2,176
Завершенные тесты: 3
25.03.2015, 12:55 #5
C++
1
2
3
4
5
6
7
8
9
typedef void (*func)(void);
std::map<int, func> func_map;
func_map[1] = function1;
func_map[2] = function2;
int a;
do {
    std::cin >> a;
} while (func_map.find(a) != func_map.end());
print(x, x + s, epsilon, func_map[a]);
0
25.03.2015, 12:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2015, 12:55
Привет! Вот еще темы с решениями:

Как выйти из цикла while();
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;cctype&gt; #include &lt;string&gt;...

Как выйти из оператора if
Пишу ИИ для крестиков-ноликов и вопрос в том, если исполниться одино условие...

Как выйти из цикла? Не получается
Есть задача: Из-за высокой цены бензина водители озабочены затратами...

как полностью выйти из программы?
есть программа, в которой цикл. необходимо, чтобы при определенном значении...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru