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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zakrutka
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 4
#1

Проверка ввода в с++ (целое/вещественное) - C++

19.04.2016, 18:06. Просмотров 190. Ответов 4
Метки с++ (Все метки)

Здравствуйте, необходима помощь в написании программы! Необходимо использовать ввод значения с клавиатуры - про этом если в задаче используется тип " INT " - то программы должна пропускать только значения типа - "1" , "99" , "3212". т.е. только цифры. Столкнулся на форуме с решением моего вопроса, но там при вводе - "13.2.3.4." программа понимала как " INT " и записывала "13". Помогите разобраться. Может есть полезные статьи? Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2016, 18:06     Проверка ввода в с++ (целое/вещественное)
Посмотрите здесь:
C++ Проверка ввода - число ли это, и целое ли
Дано вещественное число a, целое n. Вычислить: a (a-1) (a-2).(a-n) C++
C++ Проверить, что введенная строка содержит целое или вещественное число
C++ Проверка на вещественное число
Проверка введеной строки на вещественное число C++
C++ Дано вещественное число A и целое число N (> 0). Найти A в степени N
C++ Дано вещественное число X и целое число N (> 0). Вывести 1 + X + 2X/2! + ... + XN/N!.
Дано вещественное число A и целое число N C++
Даны вещественное число x и целое число n > 0 C++
C++ Дано вещественное число A и целое число N (> 0)
C++ проверка на целое число

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5113 / 4433 / 1474
Регистрация: 14.04.2014
Сообщений: 17,570
19.04.2016, 19:20     Проверка ввода в с++ (целое/вещественное) #2
C++
1
2
3
int n;
cin >> n;
if (cin.fail() || cin.peek() != '\n') // Ошибка
zakrutka
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 4
19.04.2016, 20:47  [ТС]     Проверка ввода в с++ (целое/вещественное) #3
а если это в цикл (do - while) использовать cin.clear() ?
не работает что-то...
nmcf
5113 / 4433 / 1474
Регистрация: 14.04.2014
Сообщений: 17,570
19.04.2016, 20:53     Проверка ввода в с++ (целое/вещественное) #4
А ты поток-то очистил? Где текст программы?
meJevin
155 / 147 / 58
Регистрация: 18.11.2015
Сообщений: 644
Завершенные тесты: 1
19.04.2016, 21:35     Проверка ввода в с++ (целое/вещественное) #5
Так можно

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <conio.h>
 
void cinNum(int& var, char const * text) {
 
    int intLimit = std::numeric_limits<int>::max();
 
    std::cout << text;
    while (!(std::cin >> var) || (std::cin.peek() != '\n')) {
        std::cin.clear();
        std::cin.ignore(intLimit, '\n');
        std::cout << text;
    }
    std::cin.ignore(intLimit, '\n');
}
 
int main() {
    setlocale(LC_ALL, "");
    int number;
 
    cinNum(number, "Введите int: ");
 
    _getch();
}
Добавлено через 1 минуту
Эта функция берет в первый аргумент переменную, а во второй текст, который будет заново и заново выводить, пока пользователь не введет правильные данные.
Yandex
Объявления
19.04.2016, 21:35     Проверка ввода в с++ (целое/вещественное)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru