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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2011, 15:46   #1
Jane-sad
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 22
Сообщение C++ cin.getline. Исправьте ошибку

Я только усусь. Имеется небольшой код программы. Вводится символ, проверяется, если эта не цифра 1 или 2, то далее после ввода Y необходимо повторно ввести симол и вот здесь в переменнной N остается введенный символ после первоначальном вводе.
Вопрос. Какой командой вернуть переменную N[2] в первоначальное состояние. Пожалуйста. cin.sync();сin.clear(); не помогают


char N[2],B[2]; char ans;
do
{ cin.sync();//ОЧИСТКА БУФЕРА - не помогает
cin.clear();// очистить ошибочное состояние потока - не помогает
cout<<"Enter the cifru, please"<<endl;
сin.getline(N,2,'\n');
for (unsigned j=0;j<strlen(N);j++)
{
if (N[j]!='1'&& N[j]!='2')
{cout<<"VVEDENA NE CIFRA, please"<<endl;}
}
cout<<"\n\nProdoljit? (Y/N)";
cin>>ans;
}
while(ans=='Y');
Jane-sad вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправьте ошибку.С# Tase4ka Помощь студентам 8 12.02.2011 14:09
Исправьте ошибку kipapsih Помощь студентам 0 07.01.2011 20:19
Проблема с функцией cin.getline. Подскажите советом. (*_*) Общие вопросы C/C++ 3 04.03.2009 22:43
Исправьте ошибку в Паскаль!! W_P Помощь студентам 1 16.03.2008 18:29