Oh si, ya lo resolví por mi cuenta. Bueno gracias por responder y por los consejos. Dejo el código aquí ya resuelto por si alguien lo necesita.
Código (cpp) [Seleccionar]
#include <stdlib.h>
#include <iostream>
#include "conio.h"
#include <time.h>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int res=1,oportunidades=5,ni=1,tpuntaje=0;
do{
char rep[100],temporal[100];
char pal;
char *palabra[]={"ambiente","cuidado","ecosistema","naturaleza","conservacion","recursos","equilibrio","forestacion","purifica","tierra","vida","ecologico","animales","ambiental","reciclaje","atmosfera","diversidad","energia"};
char *frase;
int tacertado=0,nivel=1;
srand(time(NULL));
int longitud,i,j,inicial,acertado=0,temp=0,n=1;
int repetido=0,gano=0, nrepetidos=0;
cout<<"JUEGO DEL AHORCADO"<<endl;
/*printf("Introduzca la palabra a adivinar: ");
gets(frase);*/
//while(oportunidades != 0)
//{
oportunidades=5;
acertado=0;
repetido=0;
nrepetidos=0;
frase=0;
for(int v=0;v<=1;v++)
{
frase=palabra[rand()%18]; //Guarda un palabra al azar de las 18 existentes
}
system("cls");
longitud = 0;
inicial = 0;
j = 0;
rep[0] = ' ';
rep[1] = '\0';
do {
system("cls");
cout<<"JUEGO DEL AHORCADO"<<endl;
cout<<endl;
temp=0;
if(inicial == 0) {
for(i=0;i<strlen(frase);i++) {
if(frase[i] == ' ') {
temporal[i] = ' ';
longitud++;
}
else {
temporal[i] = '_';
longitud++;
}
}
}
inicial = 1;
temporal[longitud] = '\0';
///////ojo
/*for(i=0;i<strlen(rep);i++) {
if(rep[i] == pal) {
repetido = 1;
break;
}
else {
repetido = 0;
}
}*/
if(repetido == 0) {
for(i=0;i<strlen(frase);i++) {
if(frase[i] == pal) {
temporal[i] = pal;
acertado++;
temp=1;
}
}
}
if(repetido == 0 && j>0) {
if(temp == 0) {
oportunidades = oportunidades - 1;
}
}
/* else {
printf("Ya se ha introducido este caracter");
printf("\n\n");
}*/
printf("\n");
for(i=0;i<strlen(temporal);i++) {
printf(" %c ",temporal[i]);
}
printf("\n");
if(strcmp(frase,temporal) == 0) {
gano = 1;
break;
}
printf("\n");
cout<<"Nivel: "<<ni<<endl;
printf("\n");
printf("Letras Acertadas: %d",acertado);
printf("\n");
printf("Oportunidades Restantes: %d",oportunidades);
printf("\n");
rep[j] = pal;
j++;
if (oportunidades==0)
{
break;
}
printf("Introduzca una letra:");
scanf("\n%c",&pal);
for(i=0;i<j;i++) {
if(rep[i] == pal) {
repetido = 1;
cout<<"Ya se ha introducido este caracter"<<endl;
system ("pause");
break;
}
else {
repetido = 0;
}
}
}while(oportunidades != 0);
if(gano) {
printf("\n\n");
printf("Enhorabuena, has ganado.");
printf("\n\n");
printf("Deseas continuar: 1 = si, 2 = no :\n");
scanf("%i",&res);
if(res==1)
{
ni++;
tpuntaje+=acertado;
}
}
else {
printf("\n\n");
printf("Has perdido.");
cout<<"La palabra era "<<frase<<endl;
cout<<"Puntaje total "<<tpuntaje<<endl;
cout<<"Nivel maximo:"<<ni-1<<endl;
printf("Deseas continuar jugando?: 1 = si, 2 = no :\n");
scanf("%i",&res);
if(res==1)
{
ni=1;
tpuntaje=0;
}
}
}while (res!=2);
system("PAUSE");
return 0;
}