Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2012, 20:54   #1
nukede
Пользователь
 
Регистрация: 13.08.2011
Сообщений: 11
Сообщение Реализация опроса пользователя СИ

Задача простая: спросить пользователя Y/N и на случай ошибки проверить введены ли Y/N.
Первая идея была циклом добиться того, чтобы значение было либо Y/N.
Однако, если ввести например "ggggg", то цикл 5 раз выведет вопрос.
Какие предложения.
Заранее спасибо
nukede вне форума Ответить с цитированием
Старый 30.03.2012, 20:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Однако, если ввести например "ggggg"
А ты видать через scanf вводишь?
А ты его на getchar() замени. Короче замени на функцию воспринимающую только один символ.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.03.2012, 21:01   #3
nukede
Пользователь
 
Регистрация: 13.08.2011
Сообщений: 11
По умолчанию

Код:
int main()
{
    int c = 0;
    

    while(c != 78 || c!= 89)
    {

    printf("New user?[Y/N]");
    c=getchar();
    printf("\n");

    }






        return 0;
}
Неудачно.

Последний раз редактировалось nukede; 30.03.2012 в 21:07.
nukede вне форума Ответить с цитированием
Старый 30.03.2012, 21:50   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я к примеру getchar привел.
В данной ситуации лучше getch() из conio.h использовать. Он не будет ждать нажатия Энтера, а сразу при нажатии символа Y или N продолжит выполнение.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.03.2012, 22:49   #5
nukede
Пользователь
 
Регистрация: 13.08.2011
Сообщений: 11
По умолчанию

Код:
    while(inputVar != 78 )
    {

    printf("New user?[Y/N]");
    inputVar = getch();
    printf("\n");

    }
при выполнении мы получаем код, который собственно хоть и равен, но почему-то выполнение цикла не прекращается.
nukede вне форума Ответить с цитированием
Старый 30.03.2012, 23:55   #6
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

Может лучше

Код:
    while(inputVar != 'n' && inputVar != 'N' )
?
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Гуляет частота опроса мышки WennY Компьютерное железо 0 17.12.2011 11:21
Портлет опроса (IBM WebSphere Portal 6.1, Eclipse) Ms_Golightly Фриланс 0 12.12.2011 02:04
некоректно работает скрипт опроса на сайте logstar PHP 4 06.02.2011 17:31
создание опроса Luciferium PHP 2 11.03.2010 13:49
Форум PHPbb 3 помогите с редактированием формы опроса Python PHP 0 18.11.2008 00:14