De hecho hay varias maneras, pero lo mejor sería que primero aprendas la estructura de los ciclos loop: while, el do-while y for (aunque este último no aplica para lo que quieres hacer, bueno quizás si desearas limitar el número de sumas que pudiera realizar el usuario). También debes aprender la estructura del if-else, aunque no la veo de mucha utilidad en este programa.
También hay otra bronca, la validación de datos. En los ejemplos que ponen los compañeros le preguntan al usuario que introduzca la opción de si quiere salir con un S/N o un s/n. El problema es que un buen programador siempre debe pensar en el usuario como si la verdad estuviera muy tarado y no sabe leer bien las opciones o si se tiene accionado o no el bloqueo de mayúsculas.
Por ejemplo, en:
cout<<"Desea Salir?: (s/n) "<<endl;
cin>>s;
if(s!="s"){
opcion=-1;
}
cout<<endl;
Si el usuario escribe S en vez de s, el programa continuara realizando el ciclo do-while (también, si introduce un número o cualquier otro carácter). Debes asegurarte de que el usuario introduzca un valor válido. Tal vez se podría escribir otro condicional para ver si el usuario está introduciendo un valor válido.
La opción del compañero hatuk2 no se me hace muy correcta. Si cumple con el objetivo, pero como que forza la salida del ciclo.
Déjame explicarte.
El ciclo do-while tiene la siguiente estructura:
do{
aquí va el código de lo que quieres hacer
} while (la opción para continuar o terminar el ciclo);
O sea, dice que va a ejecutar el código hasta que la condición no se cumpla. Cuando no se cumpla va a salirse del código y va a continuar con la siguiente línea de código después del while. En este caso, el compañero hatuk2 le pregunta al usuario si desea realizar otra suma:
cout<<"¿Desea volver a hacer otra suma? S/N"<<endl;
cin>>opc;
Luego pone un condicional:
if( opc=='N')
{
cout<<"Fin del programa"<<endl;
getch(); exit(0);
}
Aquí es donde veo el problema. No le veo la razón de hacer esto, ya que el ciclo propuesto por el compañero es:
do {} while (opc == "S");
Eso quiere decir que si en la pregunta de que si desea realizar otra suma el usuario introduce un valor distinto a S para la variable opc entonces el ciclo se rompe (el while ya tiene la condición para continuar o finalizar el ciclo, en este caso, se rompe si opc es distinta a S). No hay necesidad del if, viene sobrando.
Lo ideal sería:
do {} while (opc == 'S');
cout<<"Fin del programa"<<endl;
getch();
return 0;
} //Llave que cierra el main
Te voy a dar otra opción pero con el ciclo while tomando en cuenta el código del compañero hatuk2 pero con las observaciones anteriores. Tomo el código del compañero porque lo mio es el lenguaje C, no el C++ y estoy acostumbrado al printf y al scanf en vez de al cout y al cin, así que es posible que en alguna parte se me pueda ir un error de sintaxis, pero la estructura debe ser la correcta (siempre y cuando no me haya oxidado, tiene más de 3 años que no hago un programa en C

).
Código:
#include <iostream>
using namespace std;
int main()
{
long double A;
long double B;
long double suma;
char opc = "S"; //Importante inicializar la variable para que entre el ciclo while
while (opc == "S" || opc == "s") //Condición para continuar o finalizar el ciclo
//En este caso, le digo que siga haciéndolo
//cuando opc sea igual a S o a s.
{
cout << "Ingrese primer numero" << endl;
cin >> A;
cout << "Ingrese segundo numero" << endl;
cin >> B;
suma = A + B;
cout << "El resultado es:" << endl;
cout << suma << endl;
cout<<"¿Desea volver a hacer otra suma? S/N"<<endl;
cin>>opc;
} // Fin del while
cout<<"Fin del programa"<<endl;
getch();
return 0;
} // Fin del main
La diferencia entre el ciclo while y do-while es que el segundo siempre va a correr al menos una vez, el primero sólo cuando cierta condición se cumpla antes. En este caso tuve que inicializar la variable opc para que entrara al ciclo, de no hacerlo se diría directo a la línea que imprime fin del programa.
La verdad, la opción de código que te doy todavía podría mejorarse. Particularmente en la parte donde se le pregunta al usuario si desea hacer otra suma. Aquí podrías utilizar otro ciclo while para asegurarte que el usuario introduzca una opción válida (que sólo introduzca una de las opciones que le ofreces: S, s, N y n). No vaya a ser que introduzca un 1, un $, un *, etc. (aquí me traumó mi profesora de programación estructurada, siempre revisaba las prácticas introduciendo valores que no venían en las opciones sólo para asegurarse que validábamos los datos antes de continuar el programa y en caso de no validarlos de manera correcta, cero). Pero esto ya te lo dejo de tarea. Como tip te puedo decir que no pases el valor de la respuesta a la pregunta directamente a la variable opc, sino que lo pases a una variable intermedia que pueda inicializar el ciclo while (de hecho, puedes meter directamente la pregunta al ciclo while, no se te olvide inicializar la variable intermedia cuando la declares, o quizás utilizar un ciclo do-while para que entre al menos una vez a realizar la pregunta) y que lo siga ciclando hasta que el usuario introduzca un valor válido y ahí ya pasar el valor de la variable intermedia a la variable opc. También podría facilitarte esta tarea cambiar la condición del primer while (el ciclo principal), a si opc es distinto a N o n. El chiste es que juegues con el código para ver todas las posibilidades (eso sí, siempre tratando de ver porque hace tal o cual cosa el programa al realizar los cambios), para que en programas posteriores tengas más experiencia acerca de como encarar los retos que se te vayan presentando.
Te recomiendo comprarte un libro de nivel básico o bajarte uno de aquí para que comprendas mejor como es la estructura básica del lenguaje. Suerte con tu estudio del lenguaje C++. :vientos: