Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h> //Nos permite usar la funcion random (srand) que nos permite que por cada vez que el usuario quiera jugar el programa usa una palabra diferente
#define NP 5 /*definimos la variable N como valor constante = 5* QUIERE DECIR QUE USAREMOS 5 PALABRAS PARA JUGAR*/
char letra[2]; /*Variable que guardara la letra el usuario solo podra teclear dos carateres pero solo te tomara en cuenta un caracter que ser el que se comparara con el vector o palabra a adivinar*/
char palabras[NP][9]={ /*variable contentiva de las palabras a adivinar NP VALE 5 QUE ES LA CANTIDAD DE PALABRAS QUE TENEMOS Y [9] SIGNIFICA QUE ES EL VALOR MAXIMO DE CARACTERES QUE TENDRA CADA PALABRA*/
"calabaza","avion","caracas","montaña",
"unefa"};
int main(int argc, char *argv[])//funcion principal in main empezamos a definir las intrucciones de nuestro codigo
{
printf("\t\t\t Nombre:Angelo moreno\n\n");/*portada*/
printf("\t\t\t Proyecto: Juego El Ahorcado\n\n\n\n");
printf("\t\t\t Profesor:Roberto Ruiz\n\n\t\t\t INGENIERIA EN SISTEMAS\n\n\t\t\t UNEFA SAN-TOME\n\n\n\n\n\n");
system("color c0");
system ("pause"); /*pausa el programa*/
system("cls");
int n,m,o,p,i,j,r,eq=0;char lc,tmp[10]; /*declaracion de variables locales enteras*/
srand(time(NULL));/*nos permite que cada palabra tenga la misma posibilidad de adivinarse cada vez que se abra el programa*/
o=rand()%NP;/*nos permite que cada palabra tenga la misma posibilidad de adivinarse cada vez que se abra el programa*/
m=strlen(palabras[o]);p=m-2;/*nos pertmite mostrar con el caracter piso cuantos caracteres posee la palabra a adivinar*/
letra[0]=palabras[o][0];letra[m-1]=palabras[o][m-1];/*cuenta los errores por cada letra introducida*/
for(n=1;n<m-1;n++)letra[n]='_';letra[m]=0;
printf("\t\t Adivina la palabra o Muere\n\n");tmp[0]=0;
do{
for(j=0;j<strlen(tmp);j++){
lc=tmp[j];r=p;
for(n=1;n<m-1;n++)
if(palabras[o][n]==lc){
letra[n]=lc;palabras[o][n]='_';p--;
}
if(r==p){
eq++;
}
}
if(eq>=8)break;
if(p>0){
printf("\n\t\t Palabra: %s Escribe una letra",letra);
scanf("%10s",&tmp);
}lc=tmp[0];
system("cls");
}while(lc!='*'&&p);
if(!p)printf("\nPalabra: %s - Ganaste !!!\n\n",letra);
else if(eq>=7)printf("\n\n\n\t\t\t\t Perdistes\n\n\n\n\n");
system("PAUSE");
exit (0); //nos permite salir del juego
}