Форум программистов, компьютерный форум CyberForum.ru

Защита от дурака. Ввод данных типа int с клавиатуры. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить функцию в пространстве имён. http://www.cyberforum.ru/cpp-beginners/thread547276.html
Задание такое, создать класс some_class который бла бла бла... короче не важно Который будет лежать в отдельном файле some_class.h Должна существовать глобальная функция std::string to_string(some_class const&) возвращающая строковое представление класса. Класс я описал: #pragma once #include "stdafx.h"
C++ Функция: найти все корни, используя метод касательных Здравствуйте,помогите с программой пожалуйста. Суть задачи такова :для функции найти все корни используя метод касательных.Я вот набросал кое-что,но выводит почему то только один корень..Что не так? #include <cstdlib> #include <iostream> #include <math.h> #define e 0.0001 using namespace std; int fact(double x) { int y=1; for (int k = 1; k <= x; k ++) http://www.cyberforum.ru/cpp-beginners/thread547273.html
C++ Не создается файл с данными
Решил попробовать запустить пример из книги,который должен создать файл и записать в его данные.Я верю что он создается,но найти его не могу.Где же он все таки может быть? Только начал эту тему читать... // formato.cpp // Форматированный вывод в файл с использованием << #include <fstream> // для файлового ввода/вывода #include <iostream> #include <string> using namespace std; int...
Помогите исправить ошибки в классе C++
Здравствуйте. Наконец то дописываю класс, но опять столкнулся с кое какими проблемами. Задание: написать класс очередь через массив. Вот что у меня получилось: #include<iostream> #include<stdlib.h> #include<string> using namespace std; class Queue {
C++ Копирование массива поэлементно в другой массив http://www.cyberforum.ru/cpp-beginners/thread547255.html
Всем привет. Задание такое : Не используя оператора присваивания для массивов написать программу поэлементно копирующий один массив в другой , попутно подсчитывающий сколько раз повторяется в качестве элемента некое число - а. Коль-во элементов массива n=10, Значения элементов массива запрашиваются в отдельной функции с консоли. Вот начал делать, ввод первого массива сделал, а дальше чего то не...
C++ Определить, принадлежит ли точка с координатами (x, y) заштрихованной области. вот ссылка на картинку. http://a2.mindmix.ru/i/users/25/79/147925/38/6660538/0.png 'я просто не знаю как тут ее вставить .При решении задач нужно использовать уравнение окружности радиусом R в VBA нужно написать,я не разобралась еще как тут в определенной теме писать,за что прошу прощение подробнее

Показать сообщение отдельно
Alex5
883 / 618 / 81
Регистрация: 12.04.2010
Сообщений: 1,552
02.03.2014, 23:11     Защита от дурака. Ввод данных типа int с клавиатуры.
Цитата Сообщение от Donville Посмотреть сообщение
Обьясните, пожалуйста, эту строчку
C++
1
while(!(cin>>i) || cin.get() != '\n')
Условие !(cin>>i) || cin.get() != '\n' означает: либо ошибка ввода, либо в потоке ввода после чтения i остались ещё символы - не сразу конец строки.

Пример 1. Пользователь нажимает клавиши: qwer Enter ( Enter - то есть клавишу Enter )
В этом случае будет выполнено условие !(cin>>i), т.к. из строки "qwer" нельзя прочитать целое число - ошибка ввода.

Пример 2. Пользователь нажимает: 123RT и затем Enter
В этом случае ошибки ввода нет, значение i : 123. Однако в строке ввода ещё остались символы 'R' 'T' и '\n'. В этом случае cin.get() == 'R' ( и значит !='\n' ).

Пример 3. Пользователь вводит: 5111222333 Enter
Здесь ошибка ввода, если sizeof(i) == 4, ошибка диапазона.
 
Текущее время: 11:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru