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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


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

Desconectado Desconectado

Mensajes: 1


Ver Perfil
ayuda con ahorcado
« en: 16 Marzo 2013, 18:51 pm »

hola!! pues veran me dejaron simular el juego del ahorcado, en donde en un vector guarde 5 palabras y el usuario debera escoger si lo buscara por letra o palabra y tendra 5 oportunidades para hacerlo
 este es mi codigo, pero no me corre el de por letra si me pudieran ayudar seria genial. gracias
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <windows.h>

void palabra(char [10], char [10], char [10], char [10], char [10], int *);
void letra(char [10], char [10], char [10], char [10], char [10], char [10], char [10], char [10],  char [10], char [10], int *);

int main()
{
   char p1[10]={NULL},p2[10]={NULL},p3[10]={NULL},p4[10]={NULL},p5[10]={NULL},p11[10]={NULL},p22[10]={NULL},p33[10]={NULL},p44[10]={NULL},p55[10]={NULL};
   int bien=0,op,intento=5;
   printf("de la palabra\t");
   fflush(stdin);
   gets(p1);
    printf("de la palabra\t");
   fflush(stdin);
   gets(p2);
    printf("de la palabra\t");
   fflush(stdin);
   gets(p3);
    printf("de la palabra\t");
   fflush(stdin);
   gets(p4);
    printf("de la palabra\t");
   fflush(stdin);
   gets(p5);
   do
   {
        printf("1.por palabra\n2.por letra");
        scanf("%d",&op);
        switch(op)
        {
            case 1:
            palabra(p1,p2,p3,p4,p5,&bien);
            intento=intento-1;
            break;
            case 2:
            letra(p1,p2,p3,p4,p5,p11,p22,p33,p44,p55,&bien);
            intento=intento-1;
            break;
        }
   }while(intento>0||bien!=7);
   return 0;
}

void palabra(char p1[10],char p2[10],char p3[10],char p4[10],char p5[10],int*bien)
{
    char r1[10],r2[10],r3[10],r4[10],r5[10];
    int lon,pal,i;
    lon=strlen(p1);
   for(i=0;i<lon;i++)
   {
      r1='_ ';
        printf("%c", r1);
   }
   lon=strlen(p2);
   for(i=0;i<lon;i++)
   {
      r2='_ ';
        printf("%c", r2);
   }
   lon=strlen(p3);
   for(i=0;i<lon;i++)
   {
      r3='_ ';
        printf("%c", r3);
   }
   lon=strlen(p4);
   for(i=0;i<lon;i++)
   {
      r4='_ ';
        printf("%c", r4);
   }
   lon=strlen(p5);
   for(i=0;i<lon;i++)
   {
      r5='_ ';
        printf("%c", r5);
   }
   printf("introduce la palabra");
   fflush(stdin);
   gets(pal);
   if(strcmp(p1,pal)==0)
   {
        printf("felicidades adivinaste la palabra");
        *bien=7;
    }
    else
    {
       if(strcmp(p2,pal)==0)
        {
            printf("felicidades adivinaste la palabra");
            *bien=7;
        }
        else
        {
           if(strcmp(p3,pal)==0)
            {
                printf("felicidades adivinaste la palabra");
                *bien=7;
            }
            else
            {
               if(strcmp(p4,pal)==0)
                {
                printf("felicidades adivinaste la palabra");
                *bien=7;
                }
                else
                {
                   if(strcmp(p5,pal)==0)
                    {
                        printf("felicidades adivinaste la palabra");
                        *bien=7;
                    }
                    else
                    {
                        printf("perdiste");
                        *bien=0;
                    }
                }
            }
        }
    }
}

void letra(char p1[10],char p2[10],char p3[10],char p4[10],char p5[10],char p11[10],char p22[10],char p33[10],char p44[10],char p55[10],int*bien)
{
    char letra;
    int i,lon,j;
    lon=strlen(p1);
   for(j=0;j<=lon;j++)
   {
      p11[j]='_ ';
        printf("%c", p11[j]);
   }
   lon=strlen(p2);
   for(j=0;j<lon;j++)
   {
      p22[j]='_ ';
        printf("%c", p22[j]);
   }
   lon=strlen(p3);
   for(j=0;j<lon;j++)
   {
      p33[j]='_ ';
        printf("%c", p33[j]);
   }
   lon=strlen(p4);
   for(j=0;j<lon;j++)
   {
      p44[j]='_ ';
        printf("%c", p44[j]);
   }
   lon=strlen(p5);
   for(j=0;j<lon;j++)
   {
      p55[j]='_ ';
        printf("%c", p55[j]);
   }
    printf("dame una letra");
    fflush(stdin);
    gets(letra);
    for(i=0; i<strlen(p1);i++)
    {
        if(strcmp(letra,p1)==0)
        {
            p11=letra;
            printf("%c",p11);
        }
    }
    for(i=0; i<strlen(p2);i++)
    {
        if(strcmp(letra,p2)==0)
        {
            p11=letra;
            printf("%c",p22);
        }
    }
    for(i=0; i<strlen(p3);i++)
    {
        if(strcmp(letra,p3)==0)
        {
            p11=letra;
            printf("%c",p33);
        }
    }
    for(i=0; i<strlen(p4);i++)
    {
        if(strcmp(letra,p4)==0)
        {
            p11=letra;
            printf("%c",p44);
        }
    }
    for(i=0; i<strlen(p5);i++)
    {
        if(strcmp(letra,p5)==0)
        {
            p11=letra;
            printf("%c",p55);
        }
    }
}


En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: ayuda con ahorcado
« Respuesta #1 en: 16 Marzo 2013, 18:58 pm »

Yo si fuera tu me plantearia todo en un papel y lapicera de nuevo. Tienes muchas cosas para unir, muchos ifs separados que pueden ir todos juntos al igual que los bucles For.
Si te planteas todo desde 0, creando funciones/procedimientos para hacer cada cosa, etc, te saldra mejor.


En línea

Puntoinfinito


Desconectado Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: ayuda con ahorcado
« Respuesta #2 en: 16 Marzo 2013, 21:58 pm »

Buuuf como bien dice Edu, tienes un montón de operadores lógicos en tu código que lo hacen mucho más feo, yo de tu usaba funciones que enlacen todos esos comparativos y para que quede mucho mejor entendible para el usuario (no estaría de más xD) haz una clase o estructura... Saludos
En línea

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



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.
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,819 Último mensaje 10 Enero 2011, 15:24 pm
por Khronos14
Juego del ahorcado C#
.NET (C#, VB.NET, ASP)
treblatp 3 12,901 Último mensaje 3 Febrero 2011, 20:18 pm
por Khronos14
ahorcado
Programación C/C++
[JudasTeam]-BUG 8 5,992 Ú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