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

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

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

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

24.08.2013, 18:33. Просмотров 330. Ответов 8
Метки нет (Все метки)

не срабатывает, получается бесконечный цикл...
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++ Builder
Rad Studio XE5. Зарегистрировал dll Собрал tlb Импортировал компонент из длл Размещаю импортированный компонент на форму Вижу...

Проверьте, что выражение getchar() != EOF действительно равно 1 или 0 - C (СИ)
Я сделал это упражнение кратким: #include <stdio.h> int main() { int c; c = getchar () != EOF; //Для получения 0,...

Не вижу, что заношу в TextBox - Visual Basic
Я с помощью кнопок (с формы) заношу текст в TextBox Окно TextBox небольшое и когда текст становится большим то я не вижу что я в него...

на windows 7 не вижу интернета но вижу сеть - Сети
Здраствуйте начну пожалуй по порядку. На протяжении долгох лет пользовался ХР, захотелось чего то нового и решил себе поставить win 7. ...

Количество элементов парит - C++
В одномерном массиве из n вещественных элементов как определить количество 0 в этом массиве?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zer0mail
2332 / 1958 / 192
Регистрация: 03.07.2012
Сообщений: 7,021
Записей в блоге: 1
24.08.2013, 18:36 #2
У логического "или" 2 палочки: ||

Хотя, возможно, надо &&
Ko4evnik
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 11
24.08.2013, 18:47  [ТС] #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
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
24.08.2013, 18:48 #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  [ТС] #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
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
24.08.2013, 19:08 #6
Потому что в условии не сравнение, а присваивание. Компиляторы обычно предупреждают.
zer0mail
2332 / 1958 / 192
Регистрация: 03.07.2012
Сообщений: 7,021
Записей в блоге: 1
24.08.2013, 19:09 #7
Ага, значит когда я пишу "надо &&" ТС не понимает
Ko4evnik
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 11
24.08.2013, 19:10  [ТС] #8
Цитата Сообщение от zer0mail Посмотреть сообщение
Ага, значит когда я пишу "надо &&" ТС не понимает
ахах сорри чел, я чет ваще провалился
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
24.08.2013, 20:42 #9
Цитата Сообщение от Ko4evnik Посмотреть сообщение
if(ch='y')
поменяй на
C++
1
if(ch == 'y')
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.08.2013, 20:42
Привет! Вот еще темы с ответами:

Если при выборе матки я вижу, что фсб(1600)-это значит что фсб работает на частотах 800 1066 1333 1600? - Материнские платы
Вопрос-Если при выборе матки я вижу что фсб(1600)-это значит что фсб работает на частотах 800 1066 1333 1600?????????

Lenovo s10-3c после разборки парит wi-fi - Ремонт ноутбуков
Приветствую всех! В общем проблема у меня вот в чем: Начал парить вход наушников на Lenovo s10-3c, решил сам его посмотреть и...

при запуске Windows 7 64 byte на своём экране вижу сообщение о том что : no hard disk is detected - Жесткие диски
у меня жёсткий диск ёмкостью 1000 гигабайт разбит на сектора c- на нём система стоит -103,83 гигабайт d - для данных 827,59...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.08.2013, 20:42
Ответ Создать тему
Опции темы

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