caramel14
@caramel14
Всякое разное этакое чажу

Программа на С++ странно работает. Что делать?

#include <iostream>
using namespace std;
int main() {
    double fahr, cels;
    cout << endl <<  "Введите температуру по Фаренгейту" << endl;
    cin >> fahr;
    cels = 5 / 9 * (fahr - 32);
    cout << "По Фаренгейту: " << fahr << ", по Цельсию: " << cels << endl;
    return 0;
}

При вводе ,скажем, числа 12 она пишет:
"По Фаренгейту: 12, по Цельсию: 0"
Что я сделал не так?
  • Вопрос задан
  • 145 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
5 / 9 == 0 - оба операнда целочисленные, деление целочисленное.
5. / 9 == 5 / 9. == 5. / 9. == 0.555555556 - хотя бы один из операндов вещественный, деление вещественное.
Ответ написан
Комментировать
milssky
@milssky
Координатор племени фиолетовых обезьянок
вариантов много, например
cels = (double)5 / 9 * (fahr - 32);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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