//******************************************************************
// Walk program
// This program computes the mileage (rounded to tenths of a mile)
// for each of four distances between points in a city, given
// the measurements on a map with a scale whose value is also
// input
//******************************************************************
#include <iostream>
#include <iomanip>    // For setprecision()
#include <fstream>    // For file I/O

using namespace std;

int main()
{
    float    distance1;       // Measurement for first distance
    float    distance2;       // Measurement for second distance
    float    distance3;       // Measurement for third distance
    float    distance4;       // Measurement for fourth distance
    float    scale;           // Map scale (miles per inch)
    float    totMiles;        // Total of rounded mileages
    float    miles;           // An individual rounded mileage
    ifstream inData;          // Holds map distances in inches
    ofstream outData;         // Holds walking distances in miles

    outData << fixed << showpoint            // Set up floating pt.
            << setprecision(1);              //   output format

    // Open the files

    inData.open("walk.dat");
    outData.open("results.dat");

    // Get data

    inData >> distance1 >> distance2 >> distance3 >> distance4
           >> scale;

    // Initialize the total miles

    totMiles = 0.0;

    // Compute miles for each distance on the map

    miles = float(int(distance1 * scale * 10.0 + 0.5)) / 10.0;
    outData << "For a measurement of " << distance1
            << " the first distance is " << miles
            << " mile(s) long." << endl;
    totMiles = totMiles + miles;

    miles = float(int(distance2 * scale * 10.0 + 0.5)) / 10.0;
    outData << "For a measurement of " << distance2
            << " the second distance is " << miles
            << " mile(s) long." << endl;
    totMiles = totMiles + miles;

    miles = float(int(distance3 * scale * 10.0 + 0.5)) / 10.0;
    outData << "For a measurement of " << distance3
            << " the third distance is " << miles
            << " mile(s) long." << endl;
    totMiles = totMiles + miles;

    miles = float(int(distance4 * scale * 10.0 + 0.5)) / 10.0;
    outData << "For a measurement of " << distance4
            << " the fourth distance is " << miles
            << " mile(s) long." << endl;
    totMiles = totMiles + miles;

    // Print the total miles

    outData << endl;
    outData << "Total mileage for the day is " << totMiles
            << " miles." << endl;
    return 0;
}
