stonewt.h

#ifndef STONETW_H
#define STONETW_H
class Stonewt
{
private:
enum {Lbs_per_stn=14};
int stone;
double pds_left;
double pounds;
public:
Stonewt(double lbs);
Stonewt(int stn,double lbs);
Stonewt();
~Stonewt();
void show_lbs() const;
void show_stn() const;
};
#endif

stonewt.cpp

#include<iostream>
#include"stonewt.h"
using namespace std;

Stonewt::Stonewt(double lbs)
{
stone=int(lbs)/Lbs_per_stn;
pds_left=int (lbs)%Lbs_per_stn+lbs-int(lbs);
pounds=lbs;
}

Stonewt::Stonewt(int stn,double lbs)
{
stone=stn;
pds_left=lbs;
pounds=stn*Lbs_per_stn+lbs;
}

Stonewt::Stonewt()
{
stone=pounds=pds_left=0;
}

Stonewt::~Stonewt()
{
}

void Stonewt::show_stn() const
{
cout<<stone<<" stone,"<<pds_left<<" pounds\n";
}

void Stonewt::show_lbs() const
{
cout<<pounds<<" pounds\n";
}

stone.cpp

#include<iostream>
#include"stonewt.h"
using namespace std;
void display(const Stonewt & st,int n);
int main()
{
Stonewt incognito=275;
Stonewt wolfe(285.7);
Stonewt taft(21,8);

cout<<"The celebrity weighed ";
incognito.show_stn();
cout<<"The detective weighed ";
wolfe.show_stn();
cout<<"The President weighed ";
taft.show_lbs();
incognito=276.8;
taft=325;
cout<<"After dinner,the celebrity weighed ";
incognito.show_stn();

cout<<"After dinner,the President weighed ";
taft.show_lbs();
display(taft,2);
cout<<"The wrestler weighed even more.\n";
display(422,2);
cout<<"No stone left unearned\n";

system("pause");
return 0;
}
void display(const Stonewt & st,int n)
{
for (int i=0;i<n;i++)
{
cout<<"Wow! ";
st.show_stn();
}
}

 posted on 2021-03-23 14:09  HuJiao粉  阅读(30)  评论(0)    收藏  举报