// ptrdemo.cpp  cis205 04/01/2002

// demonstrates simple pointer usage

// Run! LIVE! On the Internet

/*
	Sample Output

	num = 8.50
	half of 8.50 by value is 4.25
	half of 8.50 by reference is 4.25

*/

#include <iostream.h>

float getHalfByValue(float ); // passes a number by value and returns another as its half
void getHalfByReference(float, float * ); // passes a pointer reference as a result placeholder

int main(void)
{

	float num;
	float half;

	num = 8.5f;

	half = 0.0f;

	cout.setf(ios::showpoint | ios::fixed);
	cout.precision(2);

	cout << "num = " << num << endl;

	cout << "half of " << num << " by value is ";
	half = getHalfByValue(num); 
	cout << half << endl;

	half = 0.0f;

	cout << "half of " << num << " by reference is ";
	getHalfByReference(num, &half);
	cout << half << endl;
		
	return 0;
}

float getHalfByValue(float n)
{
	return n / 2.0f;
}

void getHalfByReference(float n, float *nPtr)
{
	*nPtr = n / 2.0f;
}