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

Загвоздка с оператором switch

24.04.2010, 19:43. Просмотров 444. Ответов 5
Метки нет (Все метки)

Стоит MVS08, при вводе 5 сразу выходит из программы, а когда ошибочно, т.е. ввожу 8, он мне Error! Again the input..., ввожу 5, после этого, он продолжает работу (пишет done!) О.о
C++
1
2
3
4
5
6
7
    cin >> menu;
    switch(menu)
    {
        case 5 : exit(1);
        default : cout << "Error! Again the input...\n> "; cin >> menu;
    }
    cout << "\nDone!";

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2010, 19:43
Ответы с готовыми решениями:

Программа с оператором switch
Помогите пожалуйста решить простейшую задачу с оператором switch,которая...

Ошибка с оператором switch
Добрый день! Я писала программу в VS2010, но потом появилась необходимость...

Программа с оператором SWITCH
Написал вот такую прогу выводящую дни недели. Подскажите пожалуйста или дайте...

Работа с оператором switch в цикле
сhar ch; cin.get(ch); switch(ch) { case 'a': cout &lt;&lt; &quot;one &quot; &lt;&lt; endl;...

Работа с оператором Switch case
В общем такая ситуация. Надо написать что-то типо магазина и при выборе товара...

5
neske
1527 / 894 / 192
Регистрация: 26.03.2010
Сообщений: 3,074
24.04.2010, 19:48 #2
А у вас switch как я понял, выполняется только один раз.
При вводе второй цифры, выдаст "Done!"
Ведь свич у вас не в цикле?
1
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
24.04.2010, 19:53 #3
Цитата Сообщение от oinari Посмотреть сообщение
Стоит MVS08, при вводе 5 сразу выходит из программы, а когда ошибочно, т.е. ввожу 8, он мне Error! Again the input..., ввожу 5, после этого, он продолжает работу (пишет done!) О.о
У Вас именно так и написана Ваша программа:
C++
1
2
3
4
5
6
7
        cin >> menu;
        switch(menu)
        {
                case 5 : exit(1);// если ввели сразу 5, то попали сюда и сразу выходите из программы
                default : cout << "Error! Again the input...\n> "; cin >> menu;// если сразу ввели любую другую цифру, то попали сюда. На экране появляется надпись: Error! Again the input... И сдесь же программа ждет ввода любого числа (не обязательно 5, любого).
        }
        cout << "\nDone!";// после ввода последнего любого числа, программа выведет Done! и закончится.
1
oinari
5 / 5 / 0
Регистрация: 18.10.2009
Сообщений: 69
24.04.2010, 20:10  [ТС] #4
Цитата Сообщение от neske Посмотреть сообщение
Ведь свич у вас не в цикле?
да, а как его оформить? while (menu!=5) или чему?

Добавлено через 12 минут
Работает *-* правильно ли?
C++
1
2
3
4
5
6
7
8
while (1) 
    {
        switch(menu)
        {
        case 5 : exit(1);
        default : cout << "Error! Again the input...\n> "; cin >> menu;
        }
    }
0
easybudda
Модератор
Эксперт CЭксперт С++
10027 / 5950 / 1485
Регистрация: 25.07.2009
Сообщений: 11,249
24.04.2010, 20:12 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
...
int choise;
while (true){
  // тут бы пункты меню вывести
  cin >> choise;
  switch(choise){
    case 1:
      cout << "Selected first menu punct" << endl;
      break;
    case 2:
      cout << "Selected second menu punct" << endl;
      break;
    case 3:
      cout << "Good bye!" << endl;
      exit(0);
    default :
      cout << "Bad choise, try again!" << endl;
  }
}
...
1
oinari
5 / 5 / 0
Регистрация: 18.10.2009
Сообщений: 69
24.04.2010, 20:34  [ТС] #6
Всё, всем спасибо, работает.
0
24.04.2010, 20:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2010, 20:34

Нужно написать программу с оператором switch
Нужно написать программу перевода введенного символа от a до f в верхний...

Затруднения с условным оператором switch ( типы данных)
Здравствуйте! Не могу понять, как сделать без ошибки &quot; Unit1.cpp(29): E2227...

Задача с оператором switch: юзер вводит значение температуры и видит на экране совет о том как одеться
Нужно написать программу с оператором switch в которой юзер вводит значение...


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

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

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