Форум программистов, компьютерный форум CyberForum.ru

Неточность результата - C++

Восстановить пароль Регистрация
 
CHELOVEKPAUK
 Аватар для CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
13.08.2013, 18:58     Неточность результата #1
Кликните здесь для просмотра всего текста
Напишите программу, которая выдавала бы запрос на ввод расхода бензина в европейском стиле (количество литров на 100 км) и преобразовывала бы его в стиль, принятый в США, — в милях на один галлон. Имейте в виду, что кроме использования других единиц измерения в США, в отличие от европейских стран, принято и другое соотношение: расстояние/топливо, а не топливо/расстояние. Учтите, что 100 километров соответствуют 62.14 милям, а 1 галлон равен 3.875 литрам. Таким образом, 19 миль/галлон примерно равно 12.4 литров на 100 км, а 27 миль/галлон примерно составляет 8.7 литров на 100 км.


При запуске и вводе значения переменной litr (расход топлива в литрах на 100 км), например 8.7, выводится неточный результат (в большую сторону). Вроде бы везде один и тот же тип переменной. Что я делаю не так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
const float MILE = 0.62; // 1 миля = 0.62 километра
const float KM = 1.62; // 1 км = 1.62 мили
const float GALLON = 3.9; // 1 галлон = 3.9 литра
int main()
{
    setlocale(0,"russian");
    cout << "Введите количество потраченного топлива на 100 км: ";
    float litr;
    cin >> litr;
    cout << "1 л топлива потрачен за " << 100/litr << " км пути" << endl;
    cout << "1 галлон топлива потрачен за " << (100*MILE)/(litr/4) << " миль пути" << endl;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2013, 18:58     Неточность результата
Посмотрите здесь:

C++ Неточность операций с float
не правильный вывод результата C++
Неточность конвертера валюты C++
Неточность в понимании условия задачи "Жук" (acmp) C++
Вывод результата C++
C++ Вывод результата
Вывод результата поиска C++
C++ Вывод результата

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
hwmlex
 Аватар для hwmlex
41 / 41 / 3
Регистрация: 30.01.2013
Сообщений: 133
13.08.2013, 19:04     Неточность результата #2
C++
1
cout << "1 галлон топлива потрачен за " << (100*MILE)/(litr/4) << " миль пути" << endl;
Попробуй 100.0 * MILE и litr/4.0
TimeToWork
4 / 4 / 0
Регистрация: 13.04.2013
Сообщений: 25
13.08.2013, 19:06     Неточность результата #3
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
GALLON = 3.9
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
(litr/4)
Чего удивляться то неточному результату? Сам ведь округлил 3.9 до 4.
Yandex
Объявления
13.08.2013, 19:06     Неточность результата
Ответ Создать тему
Опции темы

Текущее время: 17:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru