yo usaria getch() en lugar de scanf en lo de salir...... por no darrle al enter
y lo de borrar la palabra, si usas un array tienes que mediante un bucle for borrar las posiciones del array una por una (borrar las letras)
o bien con una funcion de cadenas (strcpy() o similar), copiar una cadena vacia ("") en el array de la palabra antes de copiar la nueva palabra
pero intuyo, que lo que pretendes hacer es un poco mas elaborado que lo que tienes ahi de codigo porque si lo que quieres hacer es adivinar letra por letra (ya que el ahorcado, conforme vas teniendo fallos va poniendo la soga, el muñeco, el atril etc) tienes que desarrollar el sistema para que el usuario vaya introduciendo letra por letra, el programa en cada iteracion buscar la letra en el array, si es correcta ponerla en pantalla y si no poner un elemento del ahorcado en pantalla tambien
Tienes que llevar un control de fallos del usuario porque cuando llegue al TOPE el programa daria por ahorcado al pavo
aqui te dejo un codigo funcional para que veas como podria hacerse
//---------------------------------------------------------------------------
/*Juego del ahorcado en C*/
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <time.h>
void escribe(int color,int x, int y);
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
char matriz[10][20]={"helicoptero","naranja","helice","jardinero","electricista","calendario","taladro","cometa","saltamontes","antena"};
int plantilla[1][20],abc=0,x=37,y=21;
char abecedario[34];
int palabra,numpalabras=10,adivina,fallos,longpalabra,longadivina,salir;
char repetir='s';
int acierto; //Variable booleana: 1 significa que acert¢ una o mas letras, 0 que no
int i,j;
char letra[1];
//////// PRESENTACION MENU PRINCIPAL
///////////////////////////////////////
clrscr();
printf("\n\t=======================================");
printf("\n\t JUEGO DEL AHORCADO");
printf("\n\t=======================================");
printf("");
printf("\n\tInstrucciones: El ordenador pensar una palabra y t£ tienes 10");
printf("\n\tintentos para acertarla. En cada intento podr s elegir una letra.");
printf("\n\tSi la palabra a adivinar la contiene, aparecer en su corres-");
printf("\n\tpondiente posici¢n. Sino, tendr s un intento menos.Hasta agotar");
printf("\n\tlos 10. BUENA SUERTE!!!");
printf("\n\n");
printf("\nPulsa una tecla para empezar...");
getch();
//Busca una palabra aleatoriamente
do
{
clrscr();
randomize();
acierto=0;
fallos=0;
longpalabra=0;
longadivina=0;
salir=0;
adivina=random(numpalabras-1)+1;
for (i=0;matriz[adivina][i]!='\0';i++)
{
plantilla[1][i]=0;
longpalabra++;
}
plantilla[1][i]='\0';
// gotoxy(12,13);
escribe(15,12,13);
cprintf("Palabra a adivinar: ");
//Presentamos la linea inicial punteada con tantos espacios como letras
for (i=0;matriz[adivina][i]!='\0';i++)
{
printf(" _ ");
}
do
{
//gotoxy(10,15);
escribe(15,10,15);
cprintf("Introduce una letra: "); scanf("%s",&letra);
//gotoxy(12,13);
escribe(15,12,13);
cprintf("Palabra a adivinar: ");
for (i=0;matriz[adivina][i]!='\0';i++)
{
if (matriz[adivina][i]==letra[0])
{
plantilla[1][i]=1;
printf(" %c ",matriz[adivina][i]);
acierto=1;
}
else
{
if (plantilla[1][i]==1)
{
printf(" %c ",matriz[adivina][i]);
}
else
{
printf(" _ ");
}
}
}
//gotoxy(21,21);
escribe(15,21,21);
cprintf("Letras cogidas: ");
abecedario[abc]=letra[0];
x++;
//gotoxy(x,y);
escribe(15,x,y);
printf("%c",abecedario[abc]);
abc++;
if (acierto==0)
{
fallos++;
switch (fallos)
{
case 1:
escribe(6,5,9);
cprintf("___________");
break;
case 2:
escribe(6,5,8);
cprintf("|");
escribe(6,5,7);
cprintf("|");
escribe(6,5,6);
cprintf("|");
escribe(6,5,5);
cprintf("|");
escribe(6,5,4);
cprintf("|");
escribe(6,5,3);
cprintf("|");
escribe(6,5,2);
cprintf("|");
break;
case 3:
//gotoxy(5,1);
escribe(6,5,1);
cprintf("__________");
break;
case 4:
//gotoxy(11,2);
escribe(6,11,2);
cprintf("|");
break;
case 5:
//gotoxy(11,3);
escribe(11,11,3);
cprintf("0");
break;
case 6:
//gotoxy(9,4);
escribe(11,9,4);
cprintf("--+--");
break;
case 7:
//gotoxy(11,5);
escribe(11,11,5);
cprintf("|");
break;
case 8:
//gotoxy(10,6);
escribe(11,10,6);
cprintf("/");
break;
case 9:
//gotoxy(12,6);
escribe(11,12,6);
cprintf("\\");
break;
}
}
longadivina=0;
for (j=0;plantilla[1][j]!='\0';j++)
{
if (plantilla[1][j]==1)
longadivina=longadivina+plantilla[1][j];
}
acierto=0;
if (fallos==9)
salir=1;
if (longadivina==longpalabra)
salir=1;
}
while (salir==0);
if (fallos==9)
{
gotoxy(35,5);
printf("LO SIENTO...... No acertaste.");
gotoxy(35,7);
printf("La palabra era ");puts(matriz[adivina]);
gotoxy(35,9);
printf("¨Quieres intentarlo otra vez?(s/n) ");
repetir=getch();
}
else
{
gotoxy(35,5);
printf("FELICIDADES!!! Acertaste!!");
gotoxy(35,7);
printf("¨Quieres intentarlo otra vez?(s/n) ");
repetir=getch();
}
}
while (repetir=='s');
}
//---------------------------------------------------------------------------
void escribe(int color,int x, int y)
{
gotoxy(x,y);
textcolor(color);
}
DESCARGA BINARIOS y Source
http://www.stardust-game.org/screenshots/juego_ahorcado_en_Cbuilder6.rar