smallest, largest adding units

Bjarne Stroustrup “Programming Principles and Practice Using C++”
Chapter 4 Drill 7
Using std_lib_facilities.h by Bjarne Stroustrup.

//	Philipp Siedler
//	Bjarne Stroustrup's PP
//	Chapter 4 Drill 7

#include "std_lib_facilities.h"

int main()
{
	cout << "Enter a double value followed by m(meter) in(inch) ft(feet) or cm(centimeter or a '|' to terminate the program:\n";
	vector<double> numbers;
	double x;
	double y;
	string unit;

	while (cin >> x >> unit)
	{
		if (unit == "m")
		{
			y = x * 100;
		}

		else if (unit == "in")
		{
			y = x * 2.54;
		}

		else if (unit == "ft")
		{
			y = (x / 12)*2.54;
		}

		else if (unit == "cm")
		{
			y = x;
		}

		numbers.push_back(y);
		cout << "you entered: " << x << " " << unit << "\n";
		sort(numbers);
		if (y == numbers[0]){
			cout << "the smallest so far is: " << x << " " << unit << "\n";
		}
		if (y == numbers[numbers.size() - 1]){
			cout << "the largest so far is: " << x << " " << unit << "\n";
		}
		cout << "\n";
	}
}
Output:
type in two doubles, followed by m(meter) in(inch) ft(feet) or cm(centimeter or a '|' to terminate the program:
2.3 m
you entered: 2.3 m
the smallest so far is: 2.3 m
the largest so far is: 2.3 m

4.5 ft
you entered: 4.5 ft
the smallest so far is: 4.5 ft

3.1 cm
you entered: 3.1 cm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.