Firstly you are returning a Fraction type but not stroring or displaying it.
Fraction frac=SumOfSeries(num);
frac.display;
Secondly in Function SumOfSeries Why are you introducing a for loop?
#include "Fraction.cpp"
#include<iostream>
using namespace std;
Fraction SumOfSeries(int n);//adds fractions from num to 1
int main()
{
int num;
cout<<"Enter a number: ";
cin>>num;
cout<<"Sum of Series-> ";
Fraction frac=SumOfSeries(num);
frac.Display();
char wait;
cout<<"\nEnter any key to end ";
cin>>wait;
return 0;
}
Fraction SumOfSeries(int n)
{
Fraction base(1,1);
Fraction temp(1,n);
if(n==1)
{
return base;
}
else
{
return temp+SumOfSeries(n-1);
}
} This code returns the correct output.
All you need to do is write a print function which writes down... all the numbers such as
writenumbers(int n)
{
for(int i=1; i<=n; i++)
{
Fraction temp(1,n);
temp.Display();
if(i!=n)
cout<<" + ";
}
} Sky Diploma
Practically a Posting Shark
865 posts since Mar 2008
Reputation Points: 673
Solved Threads: 131