Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 4
1

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

19.04.2016, 18:06. Показов 4371. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, необходима помощь в написании программы! Необходимо использовать ввод значения с клавиатуры - про этом если в задаче используется тип " INT " - то программы должна пропускать только значения типа - "1" , "99" , "3212". т.е. только цифры. Столкнулся на форуме с решением моего вопроса, но там при вводе - "13.2.3.4." программа понимала как " INT " и записывала "13". Помогите разобраться. Может есть полезные статьи? Заранее благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2016, 18:06
Ответы с готовыми решениями:

Проверка ввода - число ли это, и целое ли
Как правильно сделать проверку ввода так, чтобы вводимое проверялось на то, число ли это, и целое...

Проверка переменой на целое и вещественное число
Подскажите, как правильно проверить ввод данных (чтобы не выскакивало Исключение), когда...

Проверка значения на целое, вещественное числа, идентификатор...
Дробового времени суток дорогие друзья. Нужна помощь по заданию 3. Составьте регулярное...

Как можно преобразовать вещественное в целое
var a = 22/ 10; // нецелое

4
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
19.04.2016, 19:20 2
C++
1
2
3
int n;
cin >> n;
if (cin.fail() || cin.peek() != '\n') // Ошибка
0
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 4
19.04.2016, 20:47  [ТС] 3
а если это в цикл (do - while) использовать cin.clear() ?
не работает что-то...
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
19.04.2016, 20:53 4
А ты поток-то очистил? Где текст программы?
0
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
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 минуту
Эта функция берет в первый аргумент переменную, а во второй текст, который будет заново и заново выводить, пока пользователь не введет правильные данные.
1
19.04.2016, 21:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2016, 21:35
Помогаю со студенческими работами здесь

Дано вещественное число a, целое n. Вычислить: a (a-1) (a-2).(a-n)
////

Как проверить, целое число или вещественное?
Доброго времени суток! Как в делфи проверить целое число или вещественное. Если вещественное то...

Определить, целое число ввел пользователь или вещественное
Доброго времени. Нужно определить целое число ввел пользователь или вещественное. Как это можно...

Проверить представляет ли строка число (целое или вещественное)
Дана строка. Если она представляет собой запись целого числа, то вывести 1, если вещественного (с...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru