Как я сбрасываю буфер cin?

Можно поместить его в два места. Контроллер и на Уровне представления. При наличии части логики на Уровне представления можно ограничить количество запросов назад в архитектуру, которая добавляет загрузку в систему. Да, необходимо кодировать дважды, но иногда это - то, в чем Вы нуждаетесь для быстро реагирующего пользовательского опыта.

я отчасти как то, что было сказано здесь ( http://www.martinhunter.co.nz/articles/MVPC.pdf )

"С MVPC, компонент предъявителя модели MVP разделяется на два компонента: предъявитель (просматривают управляющую логику), и контроллер (абстрактная управляющая логика цели)".

105
задан Dana the Sane 2 November 2008 в 20:06
поделиться

1 ответ

int i;
  cout << "Please enter an integer value: ";

  // cin >> i; leaves '\n' among possible other junk in the buffer. 
  // '\n' also happens to be the default delim character for getline() below.
  cin >> i; 
  if (cin.fail()) 
  {
    cout << "\ncin failed - substituting: i=1;\n\n";
    i = 1;
  }
  cin.clear(); cin.ignore(INT_MAX,'\n'); 

  cout << "The value you entered is: " << i << " and its double is " << i*2 << ".\n\n";

  string myString;
  cout << "What's your full name? (spaces inclded) \n";
  getline (cin, myString);
  cout << "\nHello '" << myString << "'.\n\n\n";
9
ответ дан 24 November 2019 в 03:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: