Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: haken88 en 15 Julio 2012, 00:41 AM

Título: Dudas "El Ahorcado" y "el gato" dev c++
Publicado por: haken88 en 15 Julio 2012, 00:41 AM
Saludos comunidad, soy nuevo en este foro. :D

Tengo unas dudas que espero que puedan ser respondidas.
Resulta que soy nuevo en esto y estaba viendo unos tutoriales en internet sobre
dev c++ y vi que se podía hacer el juego "ahorcado" o el "colgado" y el "gato"

Mis preguntas son las siguiente:

Para que utiliza cada ciclo repetitivo, cada declaración de variables, cada función, cada if y cada switch?

Seria lo ideal que sean respuestas básicas relacionadas obviamente a los dos juegos dichos anteriormente, para así poder entenderlo con facilidad.

Gracias por adelantado.
Título: Re: Dudas "El Ahorcado" y "el gato" dev c++
Publicado por: DickGumshoe en 15 Julio 2012, 00:58 AM
¡Hola!

Si me pasas el código que has encontrado por Internet te puedo ayudar... Es que no puedo saber el planteamiento del algoritmo sin que proporciones el código...

Saludos!
Título: Re: Dudas "El Ahorcado" y "el gato" dev c++
Publicado por: haken88 en 15 Julio 2012, 21:09 PM
Disculpa la tardanza aquí esta el código :


#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
   cout << "#####################################"<< endl;
   cout << "#         Juego del Ahorcado        #"<< endl;
   cout << "#####################################"<< endl;
     
   cout << "Usuario escribe la palabra a adivinar:" << endl;
   char palabradusuario[20];
   cin >> palabradusuario;
   
   system ("CLS");

   char acertadas[20];
   strcpy (acertadas, palabradusuario);
   int largo = strlen (palabradusuario);
   for (char* ap = palabradusuario; *ap; ap++)
      cout << '_';
   cout << endl;
   int errores = 0, acierto;
   for (;;) {
       cout << "Escribe una letra que pienses que es parte de la palabra: ";
       char letra;
       cin >> letra;
       char* ap;
       int acierto = 0;
       for (ap = acertadas; *ap; ap++)
           if (*ap == letra) {
              *ap = '_';
              acierto = 1;
           }
       if (!acierto) {
          if (++errores >= 5) {
             cout << "LOSIENTO USTED PERDIÓ" << endl;
             break;
          } else
            cout << "Error!!! solo te quedan " << 5 - errores << " oportunidades" << endl;
       } else {
          acierto = 0;
          for (int i = 0; palabradusuario; i++)
             if (palabradusuario != acertadas)
                cout << palabradusuario;
             else {
                cout << '_';
                acierto = 1;
             }
          cout << endl;
          if (!acierto) {
             cout << "\tFELICIDADES USTED GANO!.\n";
             break;
          }
       }
   }

   system("PAUSE");
   return EXIT_SUCCESS; 
                 
}




Solo pille este.. que por el momento quiero entenderlo bien.

Saludos!
Título: Re: Dudas "El Ahorcado" y "el gato" dev c++
Publicado por: DickGumshoe en 15 Julio 2012, 21:40 PM
Primero piden una palabra, y seguidamente se borra la pantalla con system("CLS");.

Después se concatena el contenido de "palabradusuario" en "acertadas", mediante la función strcpy() --->Error! Para usar esta función es necesario incluir la librería cstring.

Y con la función strlen() se averigua la longitud de "acertadas" --> Error! Para usar strlen() es necesario incluir la librería cstring.

Finalmente en el bucle se pretende más o menos que vaya ingresando una letra, si falla se suma uno al contador, y cuando dicho contador llega a 5 imprime un mensaje diciendo que ha perdido.

¡Ah! Y también hay un error aquí:

Código (cpp) [Seleccionar]
for (int i = 0; palabradusuario; i++)
if (palabradusuario != acertadas)
               cout << palabradusuario;


Sería poniendo un subíndice. Así:

Código (cpp) [Seleccionar]
for (int i = 0; i < largo; i++)
            if (palabradusuario[i] != acertadas[i])
               cout << palabradusuario[i];


Saludos!
Título: Re: Dudas "El Ahorcado" y "el gato" dev c++
Publicado por: haken88 en 15 Julio 2012, 23:49 PM
Gracias, ahora estoy entendiendo algo las coas, como no cuento con mucho tiempo ahora, veré el código mas tarde..! pero muchas gracias de todas formas.




EDIT: Como puedo poner este código en un Case?

Resulta que tengo en mente hacer lo siguiente:

Hacer un menú con las siguientes opciones:

Opción 1.- Jugar
Opción 2.- Sobre el Autor (osea seria información sobre mi, ya sea el nombre, edad, etc..)
Opción 3.- Salir.

A la hora de poner este codigo en un Case 1, me salta error en el Case 2 que seria "Sobre el Autor"..


Se agradece la ayuda