Qraizer

Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Zyava veronica b Вот это новости. Конечно, fork вбить проще, чем CreateThread, или там mbstowcs вместо MultiByteToWideChar, но попробуй интуитивно запомнить первый и второй варианты. Если первое запомнить проще, то наверное у меня какая-то неправильная память. C-стиль форматирования плох по меньшей мере тем, что он типонебезопасный. Попробуйте объяснить изучающему язык студенту почему вывод double-ов производится %f, а ввод - %lf, причём очень важно, что не %Lf. А напутав что-нибудь в спецификаторах, забрасывают форумы вопросами, почему у них ввод/вывод корявый или неправильный. Пусть лучше компилятор пожалуется на несоответствие типов, например, чем потом мучить отладчик и штудировать документацию. Как раз наоборот, получив определённый опыт в программировании, можно и за C-спецификаторы засесть. Но наоборот - увольте: кроме головной боли и неприязни к языку ничего студенты не получат. За исключением некоторого количества ненормальных личностей, нас с вами, например . Kamir Код: for(i=0;i<5;i++) for(;;) { cin >> n[i]; if (cin.good() && !cin.eof()) break; // если не было ошибок или введённая строка закончилась cout << "Введите действительное число."; cin.clear(); // очистить состояние ошибки cin.ignore(256, '\n'); // пропустить до конца строки максимум 256 символов } | Что-то типа того. Максимум в "256 символов" подбери по вкусу. Я бы написал иначе, без завязки на максимум, но препод не поверит в такое твоё решение. | Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 15:31 02-03-2007 | Исправлено: Qraizer, 15:34 02-03-2007 |
|