#include <stdio.h>
// **************************************************
// Function: calcDogToHumanYears
//
// Description:
// Converts a dog's age in years to approximate human years.
// The conversion is based on the following rules:
// 1) First dog year = 15 human years
// 2) Second dog year = 9 additional human years (total 24)
// 3) Each additional dog year = 5 additional human years
//
// Parameters:
// dogYear - dog's age in years
//
// Returns:
// The equivalent human years as a float
// **************************************************
float calcDogToHumanYears( int dogYear)
{
float humanYears; /* result to return */
if ( dogYear <= 0 )
{
humanYears = 0.0 ;
}
else if ( dogYear == 1 )
{
humanYears = 15 ;
}
else if ( dogYear == 2 )
{
humanYears = 24 ;
}
else
{
humanYears = 24 + ( dogYear - 2 ) * 5 ;
}
return humanYears;
}
// **************************************************
// Function: main
//
// Description:
// Tests the calcDogToHumanYears function with
// several sample dog ages and prints the results.
// **************************************************
int main( void )
{
printf ( "Dog age: 1 -> Human years: %.1f\n " , calcDogToHumanYears
( 1 ) ) ; printf ( "Dog age: 2 -> Human years: %.1f\n " , calcDogToHumanYears
( 2 ) ) ; printf ( "Dog age: 3 -> Human years: %.1f\n " , calcDogToHumanYears
( 3 ) ) ; printf ( "Dog age: 5 -> Human years: %.1f\n " , calcDogToHumanYears
( 5 ) ) ; printf ( "Dog age: 0 -> Human years: %.1f\n " , calcDogToHumanYears
( 0 ) ) ; return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgovLyBGdW5jdGlvbjogY2FsY0RvZ1RvSHVtYW5ZZWFycwovLwovLyBEZXNjcmlwdGlvbjoKLy8gICBDb252ZXJ0cyBhIGRvZydzIGFnZSBpbiB5ZWFycyB0byBhcHByb3hpbWF0ZSBodW1hbiB5ZWFycy4KLy8gICBUaGUgY29udmVyc2lvbiBpcyBiYXNlZCBvbiB0aGUgZm9sbG93aW5nIHJ1bGVzOgovLyAgICAgMSkgRmlyc3QgZG9nIHllYXIgPSAxNSBodW1hbiB5ZWFycwovLyAgICAgMikgU2Vjb25kIGRvZyB5ZWFyID0gOSBhZGRpdGlvbmFsIGh1bWFuIHllYXJzICh0b3RhbCAyNCkKLy8gICAgIDMpIEVhY2ggYWRkaXRpb25hbCBkb2cgeWVhciA9IDUgYWRkaXRpb25hbCBodW1hbiB5ZWFycwovLwovLyBQYXJhbWV0ZXJzOgovLyAgIGRvZ1llYXIgLSBkb2cncyBhZ2UgaW4geWVhcnMKLy8KLy8gUmV0dXJuczoKLy8gICBUaGUgZXF1aXZhbGVudCBodW1hbiB5ZWFycyBhcyBhIGZsb2F0Ci8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCmZsb2F0IGNhbGNEb2dUb0h1bWFuWWVhcnMoaW50IGRvZ1llYXIpCnsKICAgIGZsb2F0IGh1bWFuWWVhcnM7ICAvKiByZXN1bHQgdG8gcmV0dXJuICovCgogICAgaWYgKGRvZ1llYXIgPD0gMCkKICAgIHsKICAgICAgICBodW1hblllYXJzID0gMC4wOwogICAgfQogICAgZWxzZSBpZiAoZG9nWWVhciA9PSAxKQogICAgewogICAgICAgIGh1bWFuWWVhcnMgPSAxNTsKICAgIH0KICAgIGVsc2UgaWYgKGRvZ1llYXIgPT0gMikKICAgIHsKICAgICAgICBodW1hblllYXJzID0gMjQ7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgaHVtYW5ZZWFycyA9IDI0ICsgKGRvZ1llYXIgLSAyKSAqIDU7CiAgICB9CgogICAgcmV0dXJuIGh1bWFuWWVhcnM7Cn0KCi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi8vIEZ1bmN0aW9uOiBtYWluCi8vCi8vIERlc2NyaXB0aW9uOgovLyAgIFRlc3RzIHRoZSBjYWxjRG9nVG9IdW1hblllYXJzIGZ1bmN0aW9uIHdpdGgKLy8gICBzZXZlcmFsIHNhbXBsZSBkb2cgYWdlcyBhbmQgcHJpbnRzIHRoZSByZXN1bHRzLgovLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgppbnQgbWFpbih2b2lkKQp7CiAgICBwcmludGYoIkRvZyBhZ2U6IDEgIC0+IEh1bWFuIHllYXJzOiAlLjFmXG4iLCBjYWxjRG9nVG9IdW1hblllYXJzKDEpKTsKICAgIHByaW50ZigiRG9nIGFnZTogMiAgLT4gSHVtYW4geWVhcnM6ICUuMWZcbiIsIGNhbGNEb2dUb0h1bWFuWWVhcnMoMikpOwogICAgcHJpbnRmKCJEb2cgYWdlOiAzICAtPiBIdW1hbiB5ZWFyczogJS4xZlxuIiwgY2FsY0RvZ1RvSHVtYW5ZZWFycygzKSk7CiAgICBwcmludGYoIkRvZyBhZ2U6IDUgIC0+IEh1bWFuIHllYXJzOiAlLjFmXG4iLCBjYWxjRG9nVG9IdW1hblllYXJzKDUpKTsKICAgIHByaW50ZigiRG9nIGFnZTogMCAgLT4gSHVtYW4geWVhcnM6ICUuMWZcbiIsIGNhbGNEb2dUb0h1bWFuWWVhcnMoMCkpOwogICAgcmV0dXJuIDA7Cn0=