Академический Документы
Профессиональный Документы
Культура Документы
#include <iostream>
using namespace std;
int main ()
{
string cad_original, cad_asteriscos;
TLetras letras_usadas={0}; //Inicialmente se ponen todas como no usadas
char letra;
unsigned oportunidades;
bool acertado = false;
cad_asteriscos=leer_cadena_y_devolver_cadena_de_asteriscos(cad_original);
oportunidades=cad_original.size();
while(oportunidades>0 && !acertado)
{
system("cls");
cout << endl << "Te quedan " << oportunidades << " oportunidades";
cout << endl << endl << "Letras usadas : "; mostrar_letras(letras_usadas,1);
cout << endl << "Letras sin usar : "; mostrar_letras(letras_usadas,0);
cout << endl << endl << "Palabra a adivinar: " << cad_asteriscos;
do{
cout << endl << "Introduce letra sin usar: ";
cin >> letra;
}while(letra_utilizada(letras_usadas,letra));
/* con el bucle do..while se est forzando a la lectura de una letra no
usada previamente */
oportunidades--;
acertado=palabra_acertada(cad_original,cad_asteriscos,letra);
}
if (acertado)
cout << endl << "Enhorabuena, la palabra era: ";
else
cout << endl << "Lo siento, la palabra era: ";
cout << cad_original << endl;
system ("pause");
return 0;
}
string leer_cadena_y_devolver_cadena_de_asteriscos(string &cadena)
{
string cad_asteriscos;
int i;
cout << endl << "introduce palabra a adivinar: ";
cin >> cadena;
cad_asteriscos.clear();
for(i=0;i<cadena.size();i++)
cad_asteriscos+='*';
system("cls");
return cad_asteriscos;
}