@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 ;
}
  • Вопрос задан
  • 206 просмотров
Решения вопроса 2
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
y = c / d;

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

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

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

Войти через центр авторизации
Похожие вопросы