Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Tantay
0 / 0 / 0
Регистрация: 28.04.2012
Сообщений: 116
#1

Возможно дело в цикле - C++

01.08.2013, 17:50. Просмотров 264. Ответов 2
Метки нет (Все метки)

Задачка: Программа должна отображать меню из четырех пунктов, каждый из них помечен буквой. Если пользователь вводит букву, отличающуюся от четырех допустимых, программа должна повторно приглашать его ввести правильное значение до тех пор, пока он этого не сделает.

с таким вот условием цикл останавливается:
C++
1
2
    
while (b != 'c');
а вот с таким, нечего не происходит:
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
29
using namespace std;
 
int main()
{
    setlocale (LC_ALL, "Russian");
    
    const int m = 4;
    const char * mas[m]=    {"c) помидор", "p) урюк", "t) баклажан", "g) баран"};   
    char b;
    
 
    do{
        cout << "Выберите один из варинтов:"<<endl;
        for (int i=0; i<m; i++)
        {
            if (i!=2)
                cout << mas[i] << "\t";
            else
                cout <<endl<< mas[i]<<"\t";
        
        }
 
        cout << endl << "-> ";
        cin >> b;
    }
    while (b != 'c' || b !='p' || b != 't' || b != 'g');
 
    system ("pause");
}
объясните пожалуйста в чем проблема.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2013, 17:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Возможно дело в цикле (C++):

Не правильно работает программа, возможно дело в операторе if - C++
Здравствуйте, начал изучать язык программироваия C++, пркатикуюсь, решая задачи. Сейчас решал задачу, требующая форматировать вывод:...

в чем дело? - C++
может кто объяснит в чем дело? просто заметил одну особенность, если temp &lt;=8 символам (не считая нулевого в конце), то t выводит с двумя...

В чем дело? - C++
Что такое, почему не создается прога?

getline() в чем дело - C++
Нужно заполнять данный массив, если использовать просто &quot;cin&lt;&lt;&quot; то пробелы нельзя делать при вводе. Поэтому хочу использовать getline(),...

В чём тут дело??? - C++
программы то зфцыкливаются, то вообще ни чего не выводят. Вводится последовательность из N вещественных чисел. Определить среднее...

не пойму в чем дело - C++
всем привет! такая вот у меня проблема: две сортировки должны отсортировать массивы из 1000, 5000 и 10000 элементов и подсчитать время...

2
Kuzia domovenok
1947 / 1800 / 137
Регистрация: 25.03.2012
Сообщений: 6,234
Записей в блоге: 1
01.08.2013, 17:55 #2
while (b != 'c' || b !='p' || b != 't' || b != 'g');
это означает, что если будет нажато с, то цикл всё равно продолжится, т.к. истинны условия b !='p'||b != 't'||b != 'g'
C++
1
while (b != 'c' && b !='p' && b != 't' && b != 'g');
1
Tantay
0 / 0 / 0
Регистрация: 28.04.2012
Сообщений: 116
01.08.2013, 17:57  [ТС] #3
спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2013, 17:57
Привет! Вот еще темы с ответами:

КАК ЗДЕЛАТЬ ЕТО ДЕЛО В С++ - C++
В чемпионате из футбола принимает участие 16 команд. Cформувати файл команд и результатов матча (выигрыш - 2 ОЧКА, ничья -1, проигрыш - 0...

Как обстоит дело с квадратиками? - C++
Вот например есть массив вот как на картинке! И будет стоять такой вопрос найти в нем закрашенные квадратики! Как обозначить эти...

Ни как не разберусь в чем дело... - C++
Подскажите что не так ругается на функцию в строке 23 говорит что &quot;результатом вычисления фрагмента не является функция, принимающая 1...

небольшая ошибка в чем дело? - C++
не компилится данная прога в с++ выдает error C2447: '{' : missing function header (old-style formal list?) в ms visual studio 2008 ...


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

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

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