Título: ayuda con ahorcado Publicado por: amy26 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); } } } Título: Re: ayuda con ahorcado Publicado por: $Edu$ 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. Título: Re: ayuda con ahorcado Publicado por: Puntoinfinito 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
|