space_age: naive

This commit is contained in:
Dmitry Kokorin 2016-03-16 00:13:09 +03:00
parent c2ebbd269b
commit af9aad2d97
2 changed files with 83 additions and 0 deletions

View file

@ -0,0 +1,55 @@
#include "space_age.h"
namespace space_age {
space_age::space_age(double seconds)
: seconds_(seconds)
{
}
double space_age::seconds() const
{
return seconds_;
}
double space_age::on_earth() const
{
return seconds() / 31557600;
}
double space_age::on_mercury() const
{
return on_earth() / 0.2408467;
}
double space_age::on_venus() const
{
return on_earth() / 0.61519726;
}
double space_age::on_mars() const
{
return on_earth() / 1.8808158;
}
double space_age::on_jupiter() const
{
return on_earth() / 11.862615;
}
double space_age::on_saturn() const
{
return on_earth() / 29.447498;
}
double space_age::on_uranus() const
{
return on_earth() / 84.016846;
}
double space_age::on_neptune() const
{
return on_earth() / 164.79132;
}
}

28
cpp/space-age/space_age.h Normal file
View file

@ -0,0 +1,28 @@
#pragma once
#define EXERCISM_RUN_ALL_TESTS
namespace space_age {
class space_age
{
double seconds_;
public:
space_age(double seconds);
double seconds() const;
double on_earth() const;
double on_mercury() const;
double on_venus() const;
double on_mars() const;
double on_jupiter() const;
double on_saturn() const;
double on_uranus() const;
double on_neptune() const;
};
}