大家帮忙看看这个题目呀,多谢了

大家帮忙看看这个题目呀,谢谢了!
大家给看看这个程序对不对!!!谢谢了!

题目:编写一个程序,不断要求用户输入两个数,直到其中的一个为0。对于每两个数,程序将使用一个函数来计算它们的调和平均数,并将结果返回给main(),面后者将报告结果。调和平均数指的是倒数平均值的倒数,计算公式如下:
调和平均数=2。0*x*y/(x+y)


这个是我写的,可是不对!!!???

#include   <iostream>
double   sumaver(double   x,   double   y);
int   main()
{
do
{
double   a,   b,   report;
std::cout   < <   "Please   enter   two   number:   ";
std::cin   > >   a   > >   b;
report   =   sumaver(a,   b);
std::cout   < <   report   < <   std::endl;
}
while(b   !=   0);
return   0;
}

double   sumaver(double   x,   double   y)
{
double   sum;
sum   =   2.0   *   x   *   y   /   (x   +   y);
return   sum;
}


大家给看看呀,谢谢了!


------解决方案--------------------
#include <iostream>
#include <vector>
using namespace std;

double sumaver(double x, double y);
int main()
{


double a, b, report;
while(b!=0)
{

std::cout < < "Please enter two number: ";
std::cin > > a > > b;
report = sumaver(a, b);
std::cout < < report < < std::endl;
}

return 0;
}

double sumaver(double x, double y)
{
double sum;
sum = 2.0 * x * y / (x + y);
return sum;
}

------解决方案--------------------
include <iostream>
using namespace std;

double sumaver(double x, double y);
int main()
{


double a, b;
cin > > a > > b;
while(b!=0 && a!=0)
{
if((a + b) == 0)//其实,我觉得应该在函数里面判断的,函数嘛,要会保护自己,你将就用吧,自己再想想,不行,再叫我。
{
cout < < fenmu(*_!) is zero, exit "
break;
}
cout < < "the 调和平均数(*_!) is " < < sumaver(a, b) < < endl;
cout < < "Please enter two number: ";
cin > > a > > b;
}
system( "pause ");
return 0;
}

double sumaver(double x, double y)
{
double sum;
sum = 2.0 * x * y / (x + y);
return sum;
}