transforming decimal integer to hexadecimal, to octal and back to decimal

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

//	Philipp Siedler
//	Bjarne Stroustrup's PPP
//	Chapter 11 Drill 8

#include "std_lib_facilities.h"

void set_age(int& _a, int& _ao, int& _ah, int& _ah1) {
	while (true) {
		cout << "enter your age" << endl;
		if (cin >> _a >> oct >> _ao >> hex >> _ah >> _ah1) {
			break;
		}
		else {
			cout << "enter intger age" << endl;
			cin.clear();
		}
	}
}

int main()
try
{
	int age;
	int age_oct;
	int age_hex;
	int age_hex1;

	set_age(age, age_oct, age_hex, age_hex1);

	int width = 12;
	cout << setw(width) << "decimal\t" << age << endl;
	cout << setw(width) << "octadecimal\t" << age_oct << endl;
	cout << setw(width) << "hexadecimal\t" << age_hex << endl;
	cout << setw(width) << "hexadecimal\t" << age_hex1 << endl;
	
	keep_window_open();
}
catch (runtime_error e) {
	cout << e.what() << endl;
	keep_window_open();
}
catch (...) {
	cout << "Exiting" << endl;
	keep_window_open();
}
Output:
    decimal     28
hexadecimal     1c
octadecimal     34
Please enter a character to exit

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.