стр 257
стр.194
— Задание:
— Водителям небезразличен пробег их автомобилей. Один водитель записал
данные о нескольких заправках своей машины, записывая пройденные мили и
число залитых в бак галлонов бензина
[cut]
— Разработайте программу на C++, которая,
используя оператор while, вводила бы пробег в милях и объем бензина в каждой
заправке. Программа должна вычислять и выводить на экран число миль на
галлон для каждой заправки, а также общее значение миль на галлон по всем
введенным к данному моменту заправкам.
— Пример работы программы, то как она должна выглядеть для пользователя в конечном итоге
[spoiler=показать/спрятать]Введите пройденный путь (-1, если ввод закончен): 287
Введите расход бензина: 13
Миль/галлон для этой заправки: 22.076923
Суммарное значение миль/галлон: 22.076923
Введите пройденный путь (-1, если ввод закончен): 200 Введите расход бензина: 10 Миль/галлон для этой заправки: 20.000000 Суммарное значение миль/галлон: 21.173913
Введите пройденный путь (-1, если ввод закончен): 120 Введите расход бензина: 5 Миль/галлон для этой заправки: 24.000000 Суммарное значение миль/галлон: 21.678571
Введите пройденный путь (-1, если ввод закончен): -1[/spoiler] — Рекомендации: — использовать fixed и static_cast<тип>(переменная), почитать на стр. 231 - 232
— Код: [spoiler=показать/скрыть]
// стр 257 упражнение 4.13
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
using std::fixed;
int main ()
{
// Инициализация
// double summMilesGalon = 0; // мили/галлон суммарно
int summMiles = 0; // мили(путь) суммарно
int summExpense = 0; // расход суммарно
double milesGallon; // мили/галлон
int expense; // расход
int miles; // путь
// Обработка данных
cout << "Введите пройденный путь (-1, если ввод закончен): "; // -1 контрольное значение
cin >> miles;
if (miles == -1)
{
cout << "
Данные введены не были, ввод закончен" << endl;
}
else
{
while (miles != -1)
{
cout << "Введите расход бензина: ";
cin >> expense;
milesGallon = static_cast<double>(miles) / expense;
summExpense += expense;
summMiles += miles;
cout << "Миль/галлон для этой заправки: " << fixed << milesGallon << endl;
cout << "Суммарное значение миль/галлон: " << fixed
<< static_cast<double>(summMiles) / summExpense << endl;
cout << "
Введите пройденный путь (-1, если ввод закончен): "; // -1 контрольное значение
cin >> miles;
}
}
return 0;
}
[/spoiler] — Код на codepad: codepad — Файлы исходного кода: ul
- milesgalon.cpp /ul — ОС: ArchLinux — IDE: Geany