>>200
926 デフォルトの名無しさん[sage] 2008/12/03(水) 01:50:21
#include <math.h>
#include <iostream>
class cash {
protected:
double ga; double yen; double ri;
public:
cash(double ganpon, double riritsu) : ga(ganpon), yen(ganpon),ri(riritsu) { }
virtual void addYear() = 0; void show() { std::cout << floor(yen);}
bool operator<=(const cash& op) { return yen <= op.yen ? true : false;}
};
class hukuri : public cash {
public:
void addYear() { yen *= 1.0 + ri;} hukuri(double ganpon, double riritsu) : cash(ganpon, riritsu){ }};
class tanri : public cash {
public:
void addYear() { yen += ga * ri;} tanri(double ganpon, double riritsu) : cash(ganpon, riritsu){ }};
int main()
{ double gan, rit, rih; int y, ay = 0;
std::cout << "元本: " << std::endl; std::cin >> gan;
std::cout << "単利の利率: " << std::endl; std::cin >> rit; tanri t(gan, rit);
std::cout << "複利の利率: " << std::endl; std::cin >> rih; hukuri h(gan, rih);
std::cout << "年数: " << std::endl; std::cin >> y;
for (int i = 0; i < y; ++i) { h.addYear(); t.addYear();
if (t <= h && ay == 0) ay = i + 1; }
std::cout << "単利"; t.show(); std::cout << "円" << std::endl;
std::cout << "複利"; h.show(); std::cout << "円" << std::endl;
if (rit > rih) std::cout << "追い付くのは" << ay << "年" << std::endl;
return 0;}
前スレにあった気がしたので持ってきた