Форум программистов, компьютерный форум, киберфорум
Наши страницы

Игнорирует cin в цикле. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Международная телефонная станция http://www.cyberforum.ru/cpp-beginners/thread26942.html
Привет Всем. Вот нам задали задачку, а я не понимаю как ее решить. На международной телефонной станции картотека абонентов, содержащая сведения о телефонах и их владельцах, организована как...
C++ Создание мини теста на С люди добрые, помогите пожалуйста решить такого рода задачку на языке С: надо написать прогу, которая поочерёдно задаёт врозброс 10 вопросов(вопросы берутся не с файла). после каждого вопроса... http://www.cyberforum.ru/cpp-beginners/thread26941.html
Найти и напечатать слово, в котором содержится больше всего символов “А” C++
Дан текст, который содержит буквы и пропуски. Найти и напечатать слово, в котором содержится больше всего символов “А”. Словом считать последовательность букв, разделенных пропусками. помогите мне...
Робот в лабиринте C++
Спасибо тебе loki ты клёвый кодер! У меня есть ещё одно задание, последние которое мне надо сдать, если сможешь помоги! Написать программа на тему "Робот в лабирине".Программа должна отображать...
C++ где взять ответы из учебника Т.А.Павловская C/C++ http://www.cyberforum.ru/cpp-beginners/thread26888.html
Скажите пожалуйста где взять ответы из учебника Т.А.Павловская C/C++ или помогите решить 1 задачу к части 1. У меня есть свое решение, но неправильное.
C++ Смодулировать операцию деления двух действительных чисел в форме +/- m.n E K, где... Задание №1 Смодултровать операцию деления двух действительных чисел в форме +/- m.n E K, где сумарная длина мантиссы (m+n) - до 30 значащих цифр, а величена порядка К - до 5 цифр. Результат выдать... подробнее

Показать сообщение отдельно
XaosLord
3 / 3 / 1
Регистрация: 18.03.2009
Сообщений: 20
21.03.2009, 23:15  [ТС]
Цитата Сообщение от Vourhey Посмотреть сообщение
Я уже объяснял на форуме почему так работает.
Когда ты вводишь что-нибудь в консоли (число). То ты жмешь Enter чтобы ввести. Enter добавляет символ перехода на новую строку в буфер ввода - \n. cin читает число. Ему переход на фиг не нужен, поэтому символ \n остается в буфере.
В следующий раз, когда ты заставляешь cin считывать что, он смотрит в буфер, а там еще \n остался. Он его считывает, что правильно. И это значит, что ты ввел \n (энтер нажал). И дальше прет по программе.
Теперь понятно почему это так работает?
Все очень красиво написано. Теперь мой другой вопрос отпал. Но вопрос, задающийся в этой теме остался. Ибо цикл, который я предложил, при скармливании cin'у символа, а не числа, впадает в бесконечность. По вашему обяснению он должен игнорить cin все-таки ограниченное количество раз.
Если не затруднит, поясните, что это может быть.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru