Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/06/2015, 08:43
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Intento de juego : Piedra, papel o tijera

Cita:
Iniciado por aguston Ver Mensaje
Hola estoy teniendo bastantes problemas con el siguiente codigo
Y los problemas son? Es obvio que tu programa no funciona, pero no nos corresponde a nosotros imaginar cómo ha de funcionar.

Por otro lado, el código hay que decorarlo con las etiqueta del código correspondiente... solo por la tontería de que sea legible y todo eso. Para decorar el código elige el lenguaje que corresponda en el desplegable que dice "Highlight" y pega el código dentro de las etiquetas que te aparecerán en el editor.

Hasta aquí son reglas básicas que deberías intentar respetar tanto en este como en cualquier otro foro de programación.

Tratando ahora los problemas de tu código:

Como te comenté en el otro hilo que has abierto, que no te dejen usar funciones de la librería no te impide crear tus propias versiones para hacer el trabajo... me parecería algo totalmente surrealista que no te dejen crearte una función para, por ejemplo, comparar dos cadenas de caracteres. La gracia de no dejarte usar funciones de la librería es que así tienes que esforzarte por aprender cómo funcionan... no dejarte usar funciones (aunque sean propias) es como pedirte que sobrevivas sin respirar.

Si te fijas, la primera vez que entras al while lo haces sin haber inicializado la variable letra1. La declaras, sacas unos mensajes por pantalla y de repente miras a ver si su valor es distinto de 'S'... ¿En qué momento se supone que le das valor? Pues eso. Por si te cabe alguna duda, no es el único caso que te vas a encontrar... fíjate si no en la letra6, por poner un ejemplo.

El mensaje:

Código C:
Ver original
  1. if (letra1=='S'){
  2. printf("Nos vemos la próxima.");
  3. }

Debería estar fuera del while. Puesto que del tu programa únicamente abandonará el while para salir del programa, parece lógico que la despedida se de entonces, no?

Y piensa una cosa... el juego da tres opciones:

* Eliges piedra: dependiendo de la elección del ordenador aparecen tres posibles mensajes.
* Eliges papel: dependiendo de la elección del ordenador aparecen tres posibles mensajes.
* Eliges tijera: dependiendo de la elección del ordenador aparecen tres posibles mensajes.

Eso dan 9 mensajes... en tu código yo he contado 18... ¿por qué tienes duplicados los mensajes?

Y en serio, insisto, si tienes el usuario puede introducir "Piedra" o "Papel" como opción vas a tener que usar cadenas de caracteres en vez de char sueltos.

Un saludo