C++ : input n distance and find their average


#include<iostream>
#include<conio.h>
using namespace std;
class dist
{
private:
int feet;
float inches;
public:
dist():feet(0),inches(0){}
dist(int f,float in):feet(f),inches(in){}
void getdist()
{
cout<<"feet = ";cin>>feet;
cout<<"inches = ";cin>>inches;
}
void showdist()
{
cout<<feet<<"\'-"<<inches<<"\""<<endl;
}
dist operator +(dist d2);
dist operator /(int n);
};

dist dist::operator +(dist d2)
{
int f=feet+d2.feet;
float in=inches+d2.inches;
if(in>=12)
{
in-=12;
f++;
}
return dist(f,in);
}

dist dist::operator /(int n)
{
float fltfeet=feet+inches/12;
fltfeet/=n;
int f=int(fltfeet);
float in=12*(fltfeet-f);
return dist(f,in);
}

int main()
{
int n;
dist tot,d[10];
cout<<"Number of distance: ";cin>>n;
cout<<"Enter "<<n<< " distance:\n";
for(int i=0;i<n;i++)
{
cout<<"Distance "<<i+1<<" is: "<<endl;
d[i].getdist();
tot=tot+d[i];
}
dist avg=tot/n;
cout<<"Distance given:\n";
for(int i=0;i<n;i++)
{
cout<<"Distance "<<i+1<<"is :";
d[i].showdist();
}
cout<<"Total distance is: ";
tot.showdist();
cout<<"Average distance is: ";
avg.showdist();
getch();
return 0;

}

No comments:

Post a Comment