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

Ввод в консоле только чисел(запрет ввода других символов) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ генератор чисел http://www.cyberforum.ru/cpp-beginners/thread299689.html
Прошу Вас помочь мне в написание лабораторной работы, мне нужна на языке С Написать генератор псевдослучайных чисел по алгоритму f(n) = f(n-1) + f(n-2) + f(n-3) + f(n-4) ( f0 = f1 = f2 = f3 = 1) r = fn mod 211. ( 0 - 210) Плиззз ;-) :-*** Добавлено через 1 минуту неужели не кому помочь=((((
C++ 'sqrt' : ambiguous call to overloaded function здраствуйте! ошибка в заголовке. Чё то я запамятовал как указать компилятору какую именно версию функции использовать, думал так int pivot = arr; но это не то. Как правильно? заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread299687.html
C++ Builder БД Контроль ввода данных
Здравствуйте, с помощью вас я всё таки смог добавить записи в DBGrid с помощью editов, но теперь возникла проблема, не знаю как сделать проверку на повторение записей в поле Personal_id компонента DBGrid, подскажите пожалуйста, вот код самого запроса DataModule3->tblPersonal->Insert(); DataModule3->ADOQuery1->SQL->Clear(); Edit1->Text=StrToInt(Edit1->Text); ...
Вывести K-й элемент файла C++
Дано целое число K и файл, содержащий неотрицательные целые числа. Вывести K-й элемент файла (элементы нумеруются от 1). Если такой элемент отсутствует, то вывести –1.
C++ Вектор http://www.cyberforum.ru/cpp-beginners/thread299585.html
Определить значение и порядковые номера двух крупнейших элементов введенного вектора
C++ Динамический шаг таймера Как сделать в С++ (и возможно ли это),чтобы пользователь мог самостоятельно устанавливать необходимый ему шаг таймера? Сделал по таймеру смену записей из базы данных. Объявил в OnInitDialog() объект SetTimer(1, 4000, NULL); Далее прописал функции: void CShowDlg::Next() { try { if(CRec1->IsBOF()) подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.05.2011, 19:51     Ввод в консоле только чисел(запрет ввода других символов)
Hotbed, string::erase() функция класса. У нее есть перегруженные версии. Подробнее в гугле.
В данном случае используется версия от двух итераторов. Суть : удаляем из контейнера диапазон начиная от начального итератора, заканчивая конечным (не включая).

Начальный итератор задается возвращаемым итератором функции std::remove_if(), которая принимает два итератора и функтор, в данном конкретном случае мы посылаем туда всю строку, от начала до конца, каждый символ строки посылается в функцию isdigit, на которую мы берем указатель (ptr_fun - синтаксический сахар, ибо not1 (адаптер отрицания для унарного функтора) - принимает исключительно функтор (объект структуры/класса с оператором () )).
Суть : проходим по каждому элементу - смотрим что вернул isdigit, если вернул false - удаляем элемент (точнее сдвигаем в конец уже мусор). std::remove_if() возвращает итератор на начало удаленной последовательности (то есть на первый элемент мусора сдвинутого в конец).

string::begin(), string::end() - функции. Возвращают итератор на первый элемент и на элемент следующий за последним соответственно.
 
Текущее время: 13:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru