// April 14, 2014
// Antoine Pritchard
// Changes made.
// Assignment 22 - Add the required calls to the findHighest() and getSales()
// where indicated with //*** comments below.
// Chapter 6, Programming Challenge 3: Winning Division
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
// Function prototypes
double getSales(string);
void findHighest(double, double, double, double);
int main()
{
double NE, SE, NW, SW;
// Determine the division with the highest
// sales figure.
//*** Call getSales to get the sales figure for each of the four divisions
getSales();
//*** Call findHighest to find the highest sales figure for the four divisions
findHighest();
system("pause");
return 0;
}
//*********************************************************
// The getSales function is passed the name of a *
// division. It asks the user for a divisionÃs quarterly *
// sales figure, validates the input, then returns it. *
//******************************************************* *
double getSales(string divisionName)
{
double sales; // To hold the quarterly sales figure
// Get the quarterly sales figure.
cout << "Enter the quarterly sales figure for the "
<< divisionName << " division: ";
cin >> sales;
// Validate the quarterly sales figure.
while (sales < 0)
{
cout << "The quarterly sales figure must be "
<< "a positive dollar amount.\n"
<< "Enter the quarterly sales figure for the "
<< divisionName << " division: ";
cin >> sales;
}
// Return the quarterly sales figure.
return sales;
}
//*********************************************************
// The findHighest function is passed the four sales *
// totals. It determines which is the largest and prints *
// the name of the high grossing division, along with its *
// sales figure. *
//*********************************************************
void findHighest(double salesNE, double salesSE,
double salesNW, double salesSW)
{
string divisionName; // To hold the division name
double highestSales; // To hold the highest sales
// Determine which sales figure is the largest.
if (salesNE > salesSE &&
salesNE > salesNW &&
salesNE > salesSW)
{
divisionName = "Northeast";
highestSales = salesNE;
}
else if (salesSE > salesNE &&
salesSE > salesNW &&
salesSE > salesSW)
{
divisionName = "Southeast";
highestSales = salesSE;
}
else if (salesNW > salesNE &&
salesNW > salesSE &&
salesNW > salesSW)
{
divisionName = "Northwest";
highestSales = salesNW;
}
else
{
divisionName = "Southwest";
highestSales = salesSW;
}
// Display the division with the highest sales.
cout << "\nThe " << divisionName
<< " division had the highest sales this quarter."
<< "\nThat division's sales were $"
<< fixed << showpoint << setprecision(2)
<< highestSales << endl << endl;
}