//exch.h
#include<iostream>
using namespace std;
class base
{
private:
double a;
double b;
public:
base(double c,double d):a(c),b(d){};
virtual void show(){
cout<<a<<" "<<b<<endl;
}
};
class bad_hmean:public base
{
public:
bad_hmean(double c,double d):base(c,d){};
virtual void show(){
base::show();
cout<<"error 值不可以互为相反数”";
}
};
class bad_gmean:public base
{
public:
bad_gmean(double c,double d):base(c,d){};
virtual void show()
{
base::show();
cout<<"error s输入值小于0 ";
}
};
//main.cpp
#include<iostream>
#include"exch.h"
using namespace std;
double hmean(double a,double b)
{
if(a==-b)
throw(bad_hmean(a,b));
else
return (a+b)/2;
}
double gmean(double a,double b)
{
if(a<0||b<0)
{
throw(bad_gmean(a,b));
}
else
return sqrt(a+b);
}
void main()
{
double a,b;
while(cin>>a>>b)
{
try{
cout<<a<<" "<<b<<"hmean "<<hmean(a,b)<<endl;
cout<<a<<" "<<b<<"ghean "<<gmean(a,b)<<endl;
}
catch(bad_hmean &g)
{
g.show();
}
catch(bad_gmean &g)
{
g.show();
}
cout<<"<q quit>";
cin.get();
}
system("pause");
}
15/3
最新推荐文章于 2020-02-24 20:47:22 发布