98 / 97 / 11
Регистрация: 12.09.2016
Сообщений: 194
1

Ошибка при считывании double в переменную int

11.12.2017, 23:48. Показов 988. Ответов 6
Метки нет (Все метки)

Добрый день.Столкнулся с такой проблемой
Если мы попробуем ввести в переменную типа int дробное число,то как мы все знаем,компилятор откинет дробную часть и в переменную занесет целое число.
Но если попробовать вводить число через цикл,то компилятор сойдет с ума и начнет сам вводить и выводить нули.
Так вот,как от этого избавиться?Может быть есть какая-та проверка при входе?Только начинаю изучать программирование и C++
Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// алгоритм
#include <iostream>
using namespace std;
int main()
{
    setlocale(0,"");
    int a;
    for(;;)
    {
    
    cin>>a;
cout<<"Ваше число: "<<a<<endl;
    }
    return 0;
}
На входе: 4,5
На Выходе:
Ваше число:4
Ваше число:0
Ваше число:0
Ваше число:0
Ваше число:0
Ваше число:0
...[и так бесконечность]
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2017, 23:48
Ответы с готовыми решениями:

Появляются лишние цифры после запятой при считывании в переменную типа double
Считываю в переменную double pow число 2.56 и вместо нормальной записи в конец числа добаляеться...

Написать функцию int Search ( double A[], int n , double x), которая находит в массиве double A[n] элемент, значение которого равно x
Написать функцию int Search ( double A, int n , double x), которая находит в массиве double A...

Перевод из double в int (ошибка при переводе)
При переводе некого получившегося числа из double в int, выводится неправильное число. Не могу...

Ошибка при пустом вводе в int переменную
int a; a = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(a); Если ничего не ввести,...

6
7102 / 6097 / 2780
Регистрация: 14.04.2014
Сообщений: 26,239
11.12.2017, 23:50 2
Ты не путай присваивание и ввод. Дробная часть отбрасывается только в первом случае.
0
98 / 97 / 11
Регистрация: 12.09.2016
Сообщений: 194
11.12.2017, 23:54  [ТС] 3
nmcf, А что мне делать тогда?)
Пробовал
C++
1
if(a!=(long long)a) {...}
1
6 / 6 / 4
Регистрация: 11.12.2017
Сообщений: 26
11.12.2017, 23:58 4
Можно вместо
int a;
Завести
double a;
и округлять.

На входе: 4,5
На Выходе:
Ваше число:4
Ваше число:0
Ваше число:0
Ваше число:0
Ваше число:0
Ваше число:0
...[и так бесконечность]
Это происходит по причине того что ожидается int, а получается число с плавающей точкой
0
7102 / 6097 / 2780
Регистрация: 14.04.2014
Сообщений: 26,239
12.12.2017, 00:01 5
Цитата Сообщение от Gaveyn Посмотреть сообщение
что мне делать тогда?
Использовать double, как выше сказали.
0
98 / 97 / 11
Регистрация: 12.09.2016
Сообщений: 194
12.12.2017, 00:09  [ТС] 6
nmcf, dotmode, Мне эта переменная потом понадобится,чтобы изменять определенные ячейки в массиве
1
6 / 6 / 4
Регистрация: 11.12.2017
Сообщений: 26
12.12.2017, 00:11 7
Тогда использую другую
double b;
a =(int)b;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2017, 00:11

Ошибка при попытке объявить переменную int с именем y1
Здравствуйте, сегодня у меня в коде появилась ошибка которая ввела меня в заблуждение, при попытке...

При умножении значения double на int и присвоения его результата на double, результат выходит неправильным
Здравствуйте. Есть такая проблема. При умножении значения double на int и присвоения его результата...

Сохранение адреса переменной пользовательского класса в переменную типа int или double
Здравствуйте. Подскажите, возможно ли это: есть переменная пользовательского класса. Я хочу...

При считывании значения из переменной Int программа из 1 делает 49, как?
Пишу программу на C# задаю переменную Int на считывание и программа из 1 делает 49, как? часть...

Можно ли преобразать переменную bool в переменную int, short. И переменную string в переменную short, int и
И переменную string в переменную short, int и т.д.

QueryTabl при считывании данных Internet преобразует длинные числа в double, хотелось бы в String/ Как сделать ?
QueryTabl при считывании данных Internet преобразует длинные числа в double, хотелось бы в String/...


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

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

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