Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: Bloke   (06.12.2007 в 21:04)
Я столкнулся с проблемой ввода строки используя операто cin>>something;
Проблема в том что он считывает строку до первого пробела или символа конца строки.
я использовал cin.getline(buffer, sife_of_buffer);
но возникла другая проблема, консольное окно не останавливает ход программы для того чтобы ввести данные, прога тупо проскакивает этот оператор. Почему??

Вот код:

void menu()
{
     cout<<"Press required key to proceed\n";
     cout<<"1 - Create a new group\n";
     cout<<"2 - Show/edit all created groups\n";
     cout<<"0 - Exit\n";
}

void main()
{     
     char st_name[30], gr_name[10];  
     SetConsoleOutputCP(1251);
     
     for(;;)
     {     
          menu();
  cin>>select;
          
          switch(select)
          {

          case 1:
               
               cout<<"\nInput name of being created group"<<endl<<flush;
               cin.getline(gr_name, sizeof(gr_name)); // тут прога, по идеи, должна дать ввести данные, но оператор выполняется без остановки хода программы
               cout<<gr_name<<endl;
               break;
          
          case 2: 
                                  //another part
  break;
          case 0: 
  goto exit;
  break;
          defaultbreak;          
          }
  //getch();
  putch('\n');
     }
exit: ;
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: