#include<iostream>
#include<vector>
#include<string>
#include"cash_flow.h"
#include"Date.h"

using namespace std;

int main()
{
	 vector<Date> dates;
	 vector<double> amounts;
	 vector<double> times;

	
	 string dateString;
	 double amount=0;
	 double time=0;
	 double dayCount;

	 string today;
	 double timeFromToday;

	 double rate=0.0;

	 cout<<"Enter todays date in m/d/yyyy format: ";
	 cin>>today;
	 Date Today(today);

	 cout<<"\n\nEnter day count convention (360 or 365): ";
	 cin>>dayCount;

	 cout<<"\n\nEnter rate: ";
	 cin>>rate;




	int daysToToday=Today.daysSinceStart();

	 cout<<"\n\nInput dates (in the m/d/yyyy format) and amounts separated by a space: \n";
	 while(cin>>dateString>>amount)
	 {
		 Date d(dateString);
		 timeFromToday=(d.daysSinceStart()-daysToToday)/dayCount;
		 times.push_back(timeFromToday);
		 amounts.push_back(amount);

	 }
	
	

	/* for(vector<Date>::const_iterator i=dates.begin(); i!=dates.end();++i){

		 timeFromToday=(i->daysSinceStart()-daysToToday)/dayCount;
		 times.push_back(timeFromToday);
	 }*/

	cash_flow C(times,amounts);

	cout<<"The present value computed with discrete compounding is: "<<C.principal_value_discrete(rate)<<endl;
	cout<<"The present value computed with continuous compounding is: "<<C.principal_value_cont(rate)<<endl;






	 return 0;
}