elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como podria reiniciar este programa cuando el usuario lo desee?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como podria reiniciar este programa cuando el usuario lo desee?  (Leído 2,622 veces)
JuanTheTropper

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Como podria reiniciar este programa cuando el usuario lo desee?
« en: 18 Noviembre 2018, 21:46 pm »

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;
}


En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Como podria reiniciar este programa cuando el usuario lo desee?
« Respuesta #1 en: 18 Noviembre 2018, 22:14 pm »

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


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
JuanTheTropper

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Como podria reiniciar este programa cuando el usuario lo desee?
« Respuesta #2 en: 18 Noviembre 2018, 22:25 pm »

A la hora de ponerle el do, seria fuera del  int main?
En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Como podria reiniciar este programa cuando el usuario lo desee?
« Respuesta #3 en: 18 Noviembre 2018, 22:33 pm »

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í:
Código
  1. int main(){
  2.    int numero;
  3.    do{
  4.        cout << "\nIntroduce un numero positivo: ";
  5.        cin >> numero;
  6.   } while(numero < 0);
  7.    // el resto del programa
  8. }

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.
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como podria hacer este programa en c++
Programación C/C++
eduardo17445 2 2,562 Último mensaje 18 Noviembre 2012, 19:35 pm
por eduardo17445
como podria hacer este programa e c++
Programación C/C++
eduardo17445 5 3,346 Último mensaje 22 Enero 2013, 15:21 pm
por dato000
como podria hacer este programa en c++
Programación C/C++
eduardo17445 2 3,324 Último mensaje 28 Enero 2013, 01:25 am
por eduardo17445
¿Como reiniciar un módem remotamente cuando no hay internet? « 1 2 3 4 5 »
Redes
AvmHack 41 77,759 Último mensaje 28 Mayo 2015, 00:14 am
por MinusFour
Cómo recibir un aviso cuando esté libre el usuario de Twitter que quieres usar
Noticias
wolfbcn 0 1,855 Último mensaje 1 Agosto 2018, 21:16 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines