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

То ли getchar мозги парит, то ли я что-то не вижу - C++

Восстановить пароль Регистрация
 
Ko4evnik
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 11
24.08.2013, 18:33     То ли getchar мозги парит, то ли я что-то не вижу #1
не срабатывает, получается бесконечный цикл...
C++
1
2
3
4
do
    {
        ch=getchar();
    } while ((ch != 'y') | (ch!='n'));
что не так, подскажите, плиз
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2013, 18:33     То ли getchar мозги парит, то ли я что-то не вижу
Посмотрите здесь:

C++ Количество элементов парит
C++ getchar
Плавятся мозги от непонятной задачи C++
C++ getchar ()
[C++] аналог getchar() C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zer0mail
2187 / 1870 / 187
Регистрация: 03.07.2012
Сообщений: 6,651
Записей в блоге: 1
24.08.2013, 18:36     То ли getchar мозги парит, то ли я что-то не вижу #2
У логического "или" 2 палочки: ||

Хотя, возможно, надо &&
Ko4evnik
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 11
24.08.2013, 18:47  [ТС]     То ли getchar мозги парит, то ли я что-то не вижу #3
Цитата Сообщение от zer0mail Посмотреть сообщение
У логического "или" 2 палочки: ||

Хотя, возможно, надо &&
нее, норм все,
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
while ((ch!='1') | (ch!='2') | (ch!='3') | (ch!='4'))
    {ch = getchar();
 
        switch(ch)
        {
            case '1':
                vvod();
            case '2':
                edit();
            case '3':
                deleterec();
            case '4':
                exit(0);
            case '5':
                fuckmeiamfamous();
        }
    }
работает свич.

не могу понять.

а еще 3-й день уже я парюсь с getch и getchar, хреново они, честно говоря, работают, а иногда вообще не работают, приходится scanf использовать во многих случаях. но здесь-то что не так?
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
24.08.2013, 18:48     То ли getchar мозги парит, то ли я что-то не вижу #4
C++
1
2
3
4
    char ch;
    do {
        ch = getchar();
    } while (ch != 'y' && ch != 'n');
Ko4evnik
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 11
24.08.2013, 19:06  [ТС]     То ли getchar мозги парит, то ли я что-то не вижу #5
Цитата Сообщение от Olivеr Посмотреть сообщение
C++
1
2
3
4
    char ch;
    do {
        ch = getchar();
    } while (ch != 'y' && ch != 'n');
ну конечно, и там неправильно написал, от души!

Добавлено через 13 минут
C++
1
2
3
4
5
6
7
    if(ch='y')
    {
        for(int i=n-1;i<COUNT;i++)
        {
            strcpy_s(list[i],list[i+1]);
        }
    }
почему, даже если я нажимаю 'n', цикл все равно выполняется?
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
24.08.2013, 19:08     То ли getchar мозги парит, то ли я что-то не вижу #6
Потому что в условии не сравнение, а присваивание. Компиляторы обычно предупреждают.
zer0mail
2187 / 1870 / 187
Регистрация: 03.07.2012
Сообщений: 6,651
Записей в блоге: 1
24.08.2013, 19:09     То ли getchar мозги парит, то ли я что-то не вижу #7
Ага, значит когда я пишу "надо &&" ТС не понимает
Ko4evnik
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 11
24.08.2013, 19:10  [ТС]     То ли getchar мозги парит, то ли я что-то не вижу #8
Цитата Сообщение от zer0mail Посмотреть сообщение
Ага, значит когда я пишу "надо &&" ТС не понимает
ахах сорри чел, я чет ваще провалился
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.08.2013, 20:42     То ли getchar мозги парит, то ли я что-то не вижу
Еще ссылки по теме:

C++ Функция getchar!
тяжёлая программа, поднапрягите мозги:) ( необходимо составить тяжёлый алгоритм ) C++
C++ хочу написать программу,нужны умные мозги)

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

Или воспользуйтесь поиском по форуму:
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
24.08.2013, 20:42     То ли getchar мозги парит, то ли я что-то не вижу #9
Цитата Сообщение от Ko4evnik Посмотреть сообщение
if(ch='y')
поменяй на
C++
1
if(ch == 'y')
Yandex
Объявления
24.08.2013, 20:42     То ли getchar мозги парит, то ли я что-то не вижу
Ответ Создать тему
Опции темы

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