C++循环有关问题

C++循环问题
下面是我写的程序,我想在程序最后实现输入R后程序回到开始,输入E则退出,请问该怎么写?

#include <iostream>
#include <cmath>
using   namespace   std;
int   main()
{float   a,b,c,x1,x2;
  cout < < "解一元二次方程aXX+bX+c=0 " < <endl < < "请输入a、b、c的值(中间用空格隔开) " < <endl;
  cin> > a> > b> > c;
  x1=(-b+sqrt(b*b-4*a*c))/(2*a);
  x2=(-b-sqrt(b*b-4*a*c))/(2*a);
  cout < < "x1= " < <x1 < <endl < < "x2= " < <x2 < <endl;
  system( "pause ");
  return   0;
}

------解决方案--------------------
#include <iostream>
#include <cmath>
using namespace std;
int main()
{float a,b,c,x1,x2;
begin: cout < < "解一元二次方程aXX+bX+c=0 " < <endl < < "请输入a、b、c的值(中间用空格隔开) " < <endl;
cin> > a> > b> > c;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
cout < < "x1= " < <x1 < <endl < < "x2= " < <x2 < <endl;
cout < < "Press R to return,E to exit! " < <endl;
if (getch() == 'R ')
goto begin;
system( "pause ");
return 0;
}

------解决方案--------------------
do
{
cout < < "解一元二次方程aXX+bX+c=0 " < <endl < < "请输入a、b、c的值(中间用空格隔开) " < <endl;
cin> > a> > b> > c;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
cout < < "x1= " < <x1 < <endl < < "x2= " < <x2 < <endl;
}while(getch()== 'R ');