Programando en C – Ahorcado (cadenas de texto)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
#include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> void cifrar_cadena(char *cadena,char *cadena_cifrada); int es_letra(char letra); int main() { char cadena[100],cadena_cifrada[100],letra; int intentos=10,i,j,acierto,fin=0; gets(cadena); system("cls"); cifrar_cadena(cadena,cadena_cifrada); puts(cadena_cifrada); do { printf("nIntroduce una letra: "); fflush(stdin); scanf("%c",&letra); fflush(stdin); acierto=0; for(i=0;i<strlen(cadena);i++) { if((cadena[i]==letra||cadena[i]==(letra-32))&&cadena_cifrada[i]!=letra) { cadena_cifrada[i]=letra; puts(cadena_cifrada); acierto=1; } } if(strcmp(cadena,cadena_cifrada)==0) fin=1; if(acierto==0) { if(intentos>0) { printf("Has fallado, te quedan %d intentos",intentos); intentos--; } } } while(intentos!=0&&fin==0); if(fin==1) printf("nEnhorabuena, has ganado!!!!"); else printf("nnLo siento, has perdido"); getch(); return 0; } void cifrar_cadena(char *cadena,char *cadena_cifrada) { int tamano,i; tamano=strlen(cadena); strcpy(cadena_cifrada,cadena); for(i=1;i<tamano-1;i++) if(es_letra(cadena_cifrada[i])) if(cadena[i]!=cadena[0]&&cadena[i]!=cadena[tamano-1]) cadena_cifrada[i]='*'; } int es_letra(char letra) { return((letra>='a'&&letra<='z')||(letra>='A'&&letra<='Z')); } |
Lo podéis descargar compilado de aquí.
Recent Comments