代码如下,如有帮助,请帮忙采纳一下,谢谢。
代码:
#include <iostream>
#include <string>
using namespace std;
class HeartRates
{
private:
string mName;
int mYear,mMon,mDay;
int mAge;
public:
HeartRates(string name,int y,int m,int d)
{
mName = name;
mYear = y;
mMon = m;
mDay = d;
mAge = 0;
}
void setName(string name){mName = name;}
void setYear(int y){mYear = y;}
void setMon(int m){mMon = m;}
void setDay(int d){mDay = d;}
string getName(){return mName;}
int getYear(){return mYear;}
int getMon(){return mMon;}
int getDay(){return mDay;}
int getAge()
{
int y,m,d;
if(mAge == 0)
{
cout << "请输入当前的年月日,用空格分割:";
cin >> y >> m>>d;
mAge = y - mYear;
if(m < mMon) mAge-=1;
else if(m == mMon)
{
if(d < mDay) mAge -=1;
}
}
return mAge;
}
int getMaxiumunHeartRate()
{
return 220 - getAge();
}
void getTargetHeartRate(int &low, int &high)
{
low = getMaxiumunHeartRate() * 0.5;
high = getMaxiumunHeartRate() * 0.85;
}
};
int main()
{
string name;
int y,m,d;
int low,high;
cout << "请输入人的姓名,出生年月日:";
cin >> name >> y >> m >> d;
HeartRates ht(name,y,m,d);
cout << "姓名:" << ht.getName() << endl;
cout << "出生日期:" << ht.getYear() << "-" << ht.getMon() << "-" << ht.getDay()<<endl;
cout << "年龄:" << ht.getAge() << endl;
cout << "最大心率:" << ht.getMaxiumunHeartRate()<<endl;
ht.getTargetHeartRate(low,high);
cout << "目标心率范围:" << low << "-" << high<<endl;
return 0;
}