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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda, programa en C .. El ahorcado....
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda, programa en C .. El ahorcado....  (Leído 4,872 veces)
TopoJunior

Desconectado Desconectado

Mensajes: 40



Ver Perfil
Ayuda, programa en C .. El ahorcado....
« en: 14 Febrero 2013, 19:58 pm »

El código hasta ahora me va bien. Explico : Van a ser 3 palabras, no solo uno, por eso creé el aleatorio. El caso es qué, como veis, si introducimos una tecla f, lo que el programa hará va a ser esto . F _ _ _ _ _ _ Bien... Si introducimos u , lo que correctamente debería hacer sería, F U _ _ _ _, pero claro, de esta manera, lo que hace es borrar F y poner U. ¿Cómo haría para que Si pongo por ejemplo, primero U . Salga _ U _ _ _ _ y luego, introduzco F y siga con la palabra y no diga que no está. F u _ _ _ _ __ ? Gracias de antemano:D
Código
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <conio.h>
  4.  
  5. main()
  6. {
  7.      char ch;
  8.      char ch1;
  9.      int errores1;
  10.      errores1 = 0;
  11.   srand (time(NULL));
  12.   int aleatorio;
  13.   aleatorio = rand() % 3+1;
  14.   if(aleatorio == 2)
  15.   {
  16.   printf("Te ha tocado esta palabra\n"); // La palabra es FUTBOL
  17.   printf("_ _ _ _ _ _");
  18.   printf("Ve escribiendo las letras\n");
  19.    ch=getchar();
  20.   if(ch == 'f') {
  21.      printf("Bien, has acertado. F _ _ _ _ _\n");          
  22.          }
  23.              else if(ch == 'u') {
  24.                   printf("Has acertado. _ U _ _ _ _\n");
  25.                   }
  26.  
  27.   }
  28.  
  29.   else
  30.   {
  31.       errores1++;
  32.       printf("Has fallado. Llevas %d errores.", errores1);
  33.   }
  34. while(1);
  35. }
  36.  


En línea

Al-hazred

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Ayuda, programa en C .. El ahorcado....
« Respuesta #1 en: 14 Febrero 2013, 21:03 pm »

Incluyes una cabecera que no usas (conio.h) y te falta la cabecera stdlib.h para poder usar las funciones de generación de números aleatorios. En la linea 34 usas un while infinito sin usar do anteriormente, lo cual en sí no es un error pero quiero creer que tu intención no es que se quede colgado tu juego. Trata de implementar un do-while que cheque el número de oportunidades gastadas, y definir cuantas oportunidades tiene el usuario. Incluye la cabecera ctype.h para convertir las letras introducidas por el usuario a minúsculas y compararlas en un bucle for con, en este caso, la palabra futbol, la cual puede ser un array de char previamente definida.


En línea

Puntoinfinito


Desconectado Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: Ayuda, programa en C .. El ahorcado....
« Respuesta #2 en: 15 Febrero 2013, 15:58 pm »

Creas una variable que será la de la palabra, de tipo char o string;

Código:
char palabra_padre[128] = "_ _ _ _ _ _ _";

Entonces haces los if's normales tal cual los has hecho pero ahora se modificara la variable y no se pondrá directamente un output escrito;

Código:
palabra_padre[0] = F; cout << palabra_padre;


Y así saldrá F _ _ _ _ _ _ ...

¿Era esto?, Saludos  :D
En línea

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ayuda, programa en C .. El ahorcado....
« Respuesta #3 en: 15 Febrero 2013, 20:36 pm »

El código hasta ahora me va bien. Explico : Van a ser 3 palabras, no solo uno, por eso creé el aleatorio.

Pues yo te he puesto cuatro  :-\. Era para que una de ellas tuviera repetida alguna letra  :laugh:.

Es un código muy mejorable, pero así tienes donde fijarte:


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <ctype.h>
  5. #include <string.h>
  6.  
  7. int main(){
  8.  char ch;
  9.  char palabra[10]={0},palabras[4][10]={"futbol","pala","balon","pelota"} ;/*con letra repetida*/
  10.  int i,j,cont=0,errores=0,intentos=0,flag=0;
  11.  srand (time(NULL));
  12.  int aleatorio;
  13.  aleatorio =rand() % 3;
  14.  for (i=0;i<3;i++)
  15.    printf("%s  ",palabras[i]); /*para que veas las palabras*/
  16.  printf("\n\nTe ha tocado esta palabra: \n\n");
  17.  for (i=0;palabras[aleatorio][i]!='\0';i++){
  18.     printf("_ ");palabra[i]='_';
  19.  }
  20.  palabra[i]='\0';
  21.  printf("\n\n Tienes 10 intentos.\n\n");
  22.  do{
  23.    intentos++;
  24.    printf("\n\nVe escribiendo las letras. Intento %d\n",intentos);
  25.    ch=getchar();
  26.    while (getchar ()!='\n');
  27.    for (i=0;palabra[i]!='\0';i++){
  28.      if(ch == palabras[aleatorio][i] && palabra[i]=='_') {
  29.          palabra[i]=toupper(ch);
  30.          puts("\n");
  31.          for (j=0;j<strlen (palabra);j++)
  32.            printf("%c ",palabra[j]);
  33.          flag=1;cont++;
  34.      }
  35.    }
  36.    if (flag ==0) {
  37.      errores++;
  38.      printf("Has fallado. Llevas %d errores.\n", errores);
  39.    }
  40.    else {
  41.      printf("  Bien, has acertado.\n");
  42.      flag=0;
  43.    }
  44.    if (cont==strlen (palabra)){
  45.       if (errores==0)
  46.        printf("\n\n  TOTAL ACIERTO.\n\n");
  47.       else
  48.        printf("\n\n  ACIERTO con %d errores.\n\n",errores);
  49.       return 1;
  50.    }
  51.  } while (intentos<10);
  52.  return EXIT_SUCCESS;
  53. }
  54.  

Saluditos!.
En línea

X3R4CK3R

Desconectado Desconectado

Mensajes: 74


Divide y vencerás


Ver Perfil WWW
Re: Ayuda, programa en C .. El ahorcado....
« Respuesta #4 en: 15 Febrero 2013, 23:34 pm »

Te dejo un ahorcado que hice hace unos 4 años como referencia, si miras abajo tienes un código completamente comentado, si aún así tienes duda no dudes en preguntar. ;)

http://foro.elhacker.net/programacion_cc/c_ahorcado_v100_anadida_la_version_v200-t239941.0.html

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
C# el ahorcado
.NET (C#, VB.NET, ASP)
Err... 7 15,817 Último mensaje 10 Enero 2011, 15:24 pm
por Khronos14
Juego del ahorcado C#
.NET (C#, VB.NET, ASP)
treblatp 3 12,899 Último mensaje 3 Febrero 2011, 20:18 pm
por Khronos14
ahorcado
Programación C/C++
[JudasTeam]-BUG 8 5,990 Último mensaje 18 Junio 2011, 03:54 am
por BlackZeroX
necesito ayuda con el ahorcado en pascal
Programación General
savag 7 6,513 Último mensaje 8 Octubre 2011, 20:27 pm
por savag
ahorcado en c
Programación C/C++
chivis cristian 1 3,105 Último mensaje 11 Diciembre 2011, 20:26 pm
por [L]ord [R]NA
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines