@Slavon7

У меня калькулятор выводит целое число почему?

У меня калькулятор выводит целое число.А по задумке должно выводить число с запятой и округлять до 3 цыфр после зяпятой.Я уже менял на double и float, но с ними я не могу % . А мне нужно 123.656 -> 123/656 = 5.333

#include

using namespace std;

int main()
{
float a = 123.656f; // Змінна
int b, c, d;
float y; // Змінна
b = a * 1000;
c = b % 1000; // Післе запятой
d = b / 1000; // Перед запятой

y = c / d;

cout << y ;
}
  • Вопрос задан
  • 78 просмотров
Решения вопроса 2
wataru
@wataru
Разработчик на С++, гуглер, экс-олимпиадник.
y = c / d;

Вы делите целое число на целое. В языке С в этом случае происходит деление нацело. Чтобы в результате был float, вам надо один из операндов перобразовать во float/double. Можно или явно это написать, или просто прибавить 0.0:

y = (c + 0.0) / d;
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Оба операнда деления целочисленные, соответственно результат тоже целочисленный.
y = (c * 1.) / d;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
АМИКОН Москва
от 120 000 до 200 000 ₽
Almalence, Inc. Новосибирск
от 2 000 до 2 500 $
4Taps Mobile Тольятти
от 120 000 до 190 000 ₽
04 дек. 2020, в 16:45
50000 руб./за проект
04 дек. 2020, в 16:41
1 руб./за проект
04 дек. 2020, в 16:29
80000 руб./за проект