Tengo este codigo y quisiera saber como crear un proceso para que el usuario reinicie el programa si asi lo desea al finalizar su ejecución
int main(int argc, char** argv) {
int ficha;
cout<<" Traga Perras "<<endl;
cout<<"Cada ficha funciona para 3 lanamientos"<<endl;
cout<<"Inserte una ficha (digite 1, y oprima enter)"<<endl;
cin>>ficha;
cout<<" "<<endl;
int lanzamientos=2+ficha;
int a=1;
int b=1;
int c=1;
int g;
int resp;
cout<<"Lanzamiento inicial"<<endl;
cout<< a <<"|"<< b <<"|"<< c <<endl;
cout<<"Para accionar la palanca oprima enter"<<endl;
cout<< "inciar"<<endl;
getchar();
for(int f=0; g<lanzamientos; g++)
{
if (ficha==1)
{
getchar();
cout<<"En movimiento"<<endl;
cout<<"Resultado"<<endl;
cout<<(a^g)<<"|"<<b+g+1<<"|"<<c*g<<endl;
cout<<" "<<endl;
cout<<"-----------------"<<endl;
}
}
cout<<"Desea insertar otra ficha?(0=Si, 1=No) "<<endl;
cin>>resp;
}
system ("PAUSE");
return 0;
}
Eso se hace con el uso del <do while>. Mete prácticamente todo el programa en un bucle <do> (excepto las dos últimas líneas porque sino acabaría siempre) y añade al final del <do> un par de líneas de código donde le dices al usuario que si desea repetir el programa introduzca "s" o "S", guardas la respuesta del usuario en una variable y la condición del while es que mientras esa variable sea "s" o "S".
La parte de pasar mi explicación a código te lo dejo a ti y si te surge alguna duda puedes volver a preguntar pero recuerda meter el código entre etiquetas pulsando en <Código GeSHi> y eligiendo c++ para que te aparezcan dos etiquetas de código. Mete el código entre esas dos etiquetas y listo.
Veo que programas en C++. Te recomiendo que en vez de <system("pause")> utilices <cin.get()> por buena praxis. Aquí tienes más información sobre ese y otros puntos: https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html
A la hora de ponerle el do, seria fuera del int main?
No, dentro por ejemplo un típico uso del <do while> es para hacer un filtro y que el usuario introduzca un valor válido, para ese caso se hace así:
int main(){
int numero;
do{
cout << "\nIntroduce un numero positivo: ";
cin >> numero;
} while(numero < 0);
// el resto del programa
}
Así el programa solo pasa de ahí cuando el número es positivo, ya que si es negativo te lo vuelve a pedir. La idea es esa pero dentro del do mete todo lo que tienes que hacer y al final preguntas si desea repetir o no y lo comparas en el while.