double runningTotal = 0;
string indicator = " ";
string sbuffer;
int runningCount = 0;
cout << "Please enter a value followed by a unit indicator (cm, m, in, or ft): ";
while (cin >> val1[0] >> indicator)
{
if (indicator == "cm" || indicator == "m" || indicator == "in" || indicator == "ft")
{
buffer = val1[0];
sbuffer = indicator;
while (indicator != "m")
{
if (indicator == "cm")
{
val1[0] = val1[0] / 100;
indicator = "m";
}
else if (indicator == "in")
{
val1[0] = val1[0] * 2.54;
indicator = "cm";
}
else if (indicator == "ft")
{
val1[0] = val1[0] * 12;
indicator = "in";
}
}
cout << buffer << sbuffer << " is equal to " << val1[0] << indicator;
runningTotal += val1[0];
++runningCount;
val2.push_back(val1[0]);
if (smallest == 0 && largest == 0)
{
largest = smallest = val1[0];
cout << endl;
}
else if (val1[0] < smallest)
{
smallest = val1[0];
cout << " the smallest so far." << endl;
}
else if (val1[0] > largest)
{
largest = val1[0];
cout << " the largest so far." << endl;
}
else
cout << endl;
}
else
cout << "Value rejected, try a different unit!" << endl;
//cout << val1[0] << " " << val1[1] << endl;
//if (val1[0] == val1[1])
// cout << "The numbers are equal." << endl;
//else if (val1[0] > val1[1])
// cout << "The smaller value is: " << val1[1] << endl << "The larger value is: " << val1[0] << endl;
//else
// cout << "The smaller value is: " << val1[0] << endl << "The larger value is: " << val1[1] << endl;
////if val1[0] and val1[1] are less than 1.0/100 difference
//if ((val1[0] - val1[1] <= .10 && val1[0] - val1[1] > 0) || (val1[1] - val1[0] <= .10 && val1[1] - val1[0] > 0))
// cout << "The numbers are ALMOST the same." << endl;
}
cout << "The highest value was: " << largest << indicator << endl;
cout << "The lowest value was: " << smallest << indicator << endl;
cout << "The sum of all numbers entered is: " << runningTotal << indicator << endl;
cout << "You enetered a total of " << runningCount << " numbers." << endl;
sort(val2);
cout << "The values you entered are: " << endl;
for (double x : val2)
{
cout << x << indicator << endl;
}
return 0;
}