El Ahorcado C++
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
void main()
{
char palabra[20],letra,auxcad[20],c[20];
int termino=0,contador=0,flat,error = 0;
clrscr();
printf("Ingrese palabra:"

;
fflush(stdin);
gets(palabra);
strcpy(auxcad,palabra);
clrscr();
for(int s = 0; s < strlen(palabra);s++)
{
c[s] = '-';
// Pasa de a minuscula
palabra[s] = tolower(palabra[s]);
auxcad[s] = tolower(auxcad[s]);
}
do
{
printf("["

;
flat = 0;
for(int k = 0; k < strlen(palabra);k++)
{
if(letra == auxcad[k])
{
c[k] = auxcad[k];
}
}
for(int r = 0; r < strlen(palabra);r++)
{
printf("%c",c[r]);
}
printf("]Ingrese letra:"

;
fflush(stdin);
scanf("%c",&letra);
letra = tolower(letra);
for(int i = 0; i < strlen(palabra); i++)
{
if(letra == palabra)
{
palabra = '0';
flat = 1;
contador++;
}
}
if(flat == 0)
{
error += 1;
printf("Error numero %d de 6n",error);
if(error == 6)
break;
}
}while(contador < strlen(palabra));
for(int j = 0; j < strlen(palabra); j++)
{
if(palabra[j] == '0')
{
termino += 1;
}
}
if(termino == strlen(palabra))
printf("[%s] Ganastes",auxcad);
else
printf("nPerdistes la palabra era %s",auxcad);
getch();
}
Otro tipo de Ahorcado
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#define TAM 50
void main()
{
char palabra[TAM],auxpalabra[TAM],letra,cad[TAM];
int termino=0,contador=0,flag,error = 0,i;
clrscr();
printf("Ingrese palabra o frase:"

;
fflush(stdin);
gets(palabra);
strcpy(auxpalabra,palabra);
clrscr();
for( i = 0; i < strlen(palabra);i++)
{
if(palabra == ' ')
cad = ' ';
else
cad = '-';
palabra = tolower(palabra);
auxpalabra = tolower(auxpalabra);
}
do
{
printf("["

;
flag = 0;
for( i = 0; i < strlen(palabra);i++)
if(letra == auxpalabra)
cad = auxpalabra;
for( i = 0; i < strlen(palabra);i++)
printf("%c",cad);
printf("]Ingrese letra:"

;
fflush(stdin);
scanf("%c",&letra);
letra = tolower(letra);
for( i = 0; i < strlen(palabra); i++)
if(letra == palabra || palabra == ' ')
{
palabra = '0';
flag = 1;
contador++;
}
if(flag == 0)
{
error += 1;
printf("tttError numero %d de 6n",error);
if(error == 6)
break;
}
}while(contador < strlen(palabra));
for( i = 0; i < strlen(palabra); i++)
if(palabra == '0')
termino += 1;
if(termino == strlen(palabra))
printf("[%s] Ganastes",auxpalabra);
else
printf("nPerdistes la palabra o frase era %s",auxpalabra);
getch();
}
Ahora para hacerlo mas entretenido le agregue que pueda jugar contra la computer, eso si habra que llenar con una buena cantidad de palabras el switch.
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#define TAM 50
// Pueden poner miles de palabras.
#define TOTAL_PALABRAS 12
void main()
{
do
{
char palabra[TAM],auxpalabra[TAM],letra = ' ',cad[TAM];
int termino=0,contador=0,flag,error = 0,i,aleatoria;
clrscr();
randomize();
printf("1 <--- Player vs Computern"

;
printf("2 <--- Player vs Playern"

;
printf("nIngrese opci¢n:"

;
if (tolower(getche()) == '1')
{
aleatoria = rand() % TOTAL_PALABRAS;
switch(aleatoria)
{
case 0:
strcpy(palabra,"electrodomestico"

;
break;
case 1:
strcpy(palabra,"jugar"

;
break;
case 2:
strcpy(palabra,"zorro"

;
break;
case 3:
strcpy(palabra,"programacion"

;
break;
case 4:
strcpy(palabra,"astronauta"

;
break;
case 5:
strcpy(palabra,"colegial"

;
break;
case 6:
strcpy(palabra,"computadora"

;
break;
case 7:
strcpy(palabra,"artefacto"

;
break;
case 8:
strcpy(palabra,"candelabro"

;
break;
case 9:
strcpy(palabra,"estudiante"

;
break;
case 10:
strcpy(palabra,"prefectura"

;
break;
case 11:
strcpy(palabra,"biblioteca"

;
break;
}
}
else
{
printf("nnIngrese palabra o frase:"

;
fflush(stdin);
gets(palabra);
}
strcpy(auxpalabra,palabra);
clrscr();
for( i = 0; i < strlen(palabra);i++)
{
if(palabra == ' ')
cad = ' ';
else
cad = '-';
palabra = tolower(palabra);
auxpalabra = tolower(auxpalabra);
}
do
{
clrscr();
printf("["

;
flag = 0;
for( i = 0; i < strlen(palabra);i++)
if(letra == auxpalabra)
cad = auxpalabra;
for( i = 0; i < strlen(palabra);i++)
printf("%c",cad);
printf("]Ingrese letra:"

;
fflush(stdin);
scanf("%c",&letra);
letra = tolower(letra);
for( i = 0; i < strlen(palabra); i++)
if(letra == palabra || palabra == ' ')
{
palabra = '0';
flag = 1;
contador++;
}
if(flag == 0)
{
error += 1;
printf("nError numero %d de 6nnn",error);
if(error == 6)
break;
printf("<<< Press any keys to continue >>>"

;
getch();
}
}while(contador < strlen(palabra));
for( i = 0; i < strlen(palabra); i++)
if(palabra == '0')
termino += 1;
if(termino == strlen(palabra))
printf("[%s] Ganastes",auxpalabra);
else
printf("nPerdistes la palabra o frase era "%s"",auxpalabra);
printf("nnDesea continuar (s)i ?"

;
}while(tolower(getch()) == 's');
}
Que divertido Juego
Pronto en cout y cin mas facil aun!!
Informacion recolectada desde
www.programacionutn.com.ar
wikipedia informes
y otras...
Nota:los emoticones son parentesis.