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

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

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

Как обнаружить, что введено не целое число? - C++

11.09.2014, 17:36. Просмотров 1297. Ответов 21
Метки нет (Все метки)

Например есть прога, я ввожу натуральное число
как сделать, если я введу не 112 а 122.3 например, чтобы программа написала число не натуральное?
C++
1
if a!=int
не работает
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2014, 17:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как обнаружить, что введено не целое число? (C++):

Написать программу, считывающую целое число с клавиатуры и предупреждающую вас, если введено нецелое число. - C++
Написать программу, считывающую целое число с клавиатуры и предупреждающую вас, если введено нецелое число.

Проверка на то, что введено число, а не символ не работает - C++
Уходит в бесконечный цикл! Если введен символ, вместо цифр. Как исправить? Нужно, что бы была возможность ввода через цикл, до тех пор пока...

Вводить пятизначное число пока не будет введено правильноеповторять ввод, пока не будет введено пятизначное число. Не получается выполнить задание. - C++
#include <iostream> using namespace std; int main() { setlocale(LC_ALL, "rus"); cout << "\t\t\tДеление числа на разряды."...

Составить функцию, которая, получив целое число определяет, уменьшается ли оно в целое число раз - C++
задание такое Составить функцию, которая, получив целое число определяет, уменьшается ли оно в целое число раз, если у него удалить...

Написать объявление функции, возвращающую целое число и принимающую указатель на целое число - C++
объявите функцию f2, возвращающую результат целого типа и передающую указатель на переменную а целого типа. вызовите функцию f2 с...

Как посчитать сколько раз было введено число - C++
Возникла проблема. Надо посчитать сколько пользователь ввел четное число Я так код набросал но он не работает #include <iostream> ...

21
_Ivana
3202 / 1829 / 153
Регистрация: 01.03.2013
Сообщений: 5,050
Записей в блоге: 4
11.09.2014, 17:39 #2
У тебя ошибка - ты сравниваешь значение а с неким типом, надо тип а сравнивать:
C++
1
if type(a) != type.int
0
ForEveR
В астрале
Эксперт С++
7984 / 4743 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
11.09.2014, 17:40 #3
TravienDay, Парсить, как же еще.
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
11.09.2014, 17:42 #4
Цитата Сообщение от _Ivana Посмотреть сообщение
if type(a) != type.int
што эта?
TravienDay, чтобы сделать ограничения на ввод целых (если речь о консоли) имеет смысл сделать ввод строки с дальнейшим её разбором.
0
TravienDay
0 / 0 / 0
Регистрация: 11.07.2014
Сообщений: 33
11.09.2014, 17:46  [ТС] #5
_Ivana, что-то не работает
например прога:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
    setlocale(0,"");
    int a,s1,s2,s3,s4,s5;
    cout<<"Введите натуральное трехзначное число\n";
    cin>>a;
    if ((a<100) || (a>999))
    {
        cout<<"Число не трехзначное\n";
    }
    else if (type(a)!=type.int)
    {
        cout<<"Число не натуральное\n";
    }
    else cout<<"Число трехзначное\n";
}
где ошибка?
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
11.09.2014, 17:47 #6
Цитата Сообщение от TravienDay Посмотреть сообщение
где ошибка?
Ошибка в сообщении #2
0
TravienDay
0 / 0 / 0
Регистрация: 11.07.2014
Сообщений: 33
11.09.2014, 17:47  [ТС] #7
Tulosba, а как реализовать это в простой программе? (пример выше)
0
ForEveR
В астрале
Эксперт С++
7984 / 4743 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
11.09.2014, 17:47 #8
TravienDay, Ошибка в том, что стоит почитать хотя бы что-то по С++, прежде чем что-то делать...
0
zss
Модератор
Эксперт С++
6627 / 6189 / 2047
Регистрация: 18.12.2011
Сообщений: 16,134
Завершенные тесты: 1
11.09.2014, 17:48 #9
Предлагаю так
C++
1
2
3
4
5
6
    int n;
    char c;
    cin>>n;
    cin>>c;
    if(c=='.')
        cout<<"введено не целое число\n";
1
Boleon
Guardian of Asgaard
372 / 315 / 106
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
11.09.2014, 17:49 #10
Можно поизвращаться - вводить число в строку, если в строке будет точка, то - "не натуральное", если не будет, то соответственно "натуральное"
0
_Ivana
3202 / 1829 / 153
Регистрация: 01.03.2013
Сообщений: 5,050
Записей в блоге: 4
11.09.2014, 17:51 #11
Tulosba, я сравниваю тип переменной а (получая его в результате действия функции "type") и тип int, они одного типа type, и их можно сравнивать.
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
11.09.2014, 17:53 #12
Цитата Сообщение от _Ivana Посмотреть сообщение
я сравниваю тип переменной а
Приведенный в сообщении #2 код не является кодом на C++.
0
IrineK
Заблокирован
11.09.2014, 17:55 #13
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
if (fabs(a - (int)a)>0)
1
TravienDay
0 / 0 / 0
Регистрация: 11.07.2014
Сообщений: 33
11.09.2014, 18:08  [ТС] #14
Ничего не подошло.
0
zss
Модератор
Эксперт С++
6627 / 6189 / 2047
Регистрация: 18.12.2011
Сообщений: 16,134
Завершенные тесты: 1
11.09.2014, 18:10 #15
Мой код из поста 9 работает. Я проверил!
0
11.09.2014, 18:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.09.2014, 18:10
Привет! Вот еще темы с ответами:

Если целое число М делится на целое число N, то на экран выводится частное от деления, в противном случае выводится сообщение - C++
Если целое число М делится на целое число N, то на экран выводится частное от деления, в противном случае выводится сообщение «M на N...

Дано целое число N (> 0). Найти сумму N2 + (N + 1)2+ (N + 2)2+ … + (2*N)2 (целое число) - C++
Дано целое число N (&gt; 0). Найти сумму N2 + (N + 1)2+ (N + 2)2+ … + (2*N)2 (целое число).подскажите как решается или подскажите где можно...

Проверить, что введенная строка содержит целое или вещественное число - C++
Первая программа принимает от пользователя две строки. Далее, если обе строки хранят целые числа со знаком, то на экран выводится сумма...

Написать функцию, которая принимает 32 битное целое число и возвращает 16 битное целое число - C++
Помогите написать программу, использующую функцию, которая принимает 32 битное целое число и возвращает 16 битное целое число, состоящее из...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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