Estou trabalhando neste código com um amigo, porem para finalizarmos está faltando verificar se as letras já foram digitadas e não contar, mas não estamos conseguindo se algum puder ajudar eu agradeço. pois sou iniciante na programação, desde já obrigado.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <time.h>
#include
#include
#include <windows.h>
using namespace std;
// estabelecendo estrutura para receber um caractere
typedef int tp_item;
typedef struct tp_no {
char info[25];
struct tp_no *prox;
} Lista;
//função que implementa o jogo
void jogo(){
// instanciado as variaveis
char palavra[25], letra[25], lacuna[25];
int vida = 2, x = 0 ,i ,u , total = 0 , cont = 0;
int str_aux;
//-----------------------------------------------------------------------
printf(" ******************************");
printf("\n JOGO DA FORCA \n");
printf(" ******************************\n");
printf("\n BOM JOGO\n\n");
//-----------------------------------------------------------------------
//digitando a palavra secreta
printf("\nDIGITE UMA PALAVRA PARA CONTINUAR: \n");
gets(palavra);
fflush(stdin);
total = strlen(palavra);
//-----------------------------------------------------------------------
//verificando string e preenchenco com x
for(i=0;i<strlen(palavra);i++){
lacuna[i]= 'x';
//total++;// calculando total de letras
cont++;//letras restantes
}
//------------------------------------------------------------------------
//verificando a quantidade de chances
while(vida >= 0 ){// vida <= total
printf("\nA PALAVRA COMTEM %d LETRAS\n", total);
printf("\nLETRAS RESTANTES: %i\n", cont);
printf("\n%s\n ", lacuna);
printf("\nENTRE COM UMA LETRA: ");
gets(letra);
system("cls");
//-------------------------------------------------------------------------
//verificando se a letra já foi digitada
//---------------------------------------------------------------------------
// verificando letras restantes com a palavra digitada
for(i=0;i < strlen(palavra);i++){
for(u=0 ;u < strlen(palavra); u++){
if(letra[u] == palavra[i]){
lacuna[i] = palavra[i];
x++;
cont--;
}
}
}
//---------------------------------------------------------------------------
//verificando se a quantidade de letra e igual a zero!.
if(cont == 0){
printf("PARABENS! VOCE VENCEU!");
printf("\nACERTOU A PALAVRA %s", palavra);
cont--;
cont = 0;
}
//-----------------------------------------------------------------------------
// verificando a quantidade de vida
if( x == 0){ //x == 0
vida--;
printf("\nVOCE PERDEU UMA VIDA!\nVOCE TEM VIDA(S)");
printf("RESTANTES %i\n\n " , vida + 1);
}
x = 0;
}
//-----------------------------------------------------------------------------
printf("\n\nVC FOI ENFORCADO, Fim de jogo!\n\n\nPALAVRA SECRETA:");
printf("%s", palavra);
printf("\n\n***********************\n\n");
printf("* JOGO DA FORCA *\n\n");
printf(" ___ \n");
printf(" | | \n");
printf(" | O \n");
printf(" |/|\ \n");
printf(" | | \n");
printf(" |/ \ \n");
printf(" |______ \n");
printf("\n**********************\n");
}
//-----------------------------------------------------------------------------
//criando lista
void cria (Lista **L){
*L=NULL;
}
//alocação do tamanho do vetor
void Ins_Inicio (Lista **L, char v[15]){
Lista *p = (Lista *) calloc (1, sizeof(Lista));
strcpy(p->info, v);
p->prox=*L;
*L = p;
}
//-----------------------------------------------------------------------------
//função para imprimir a lista
void imprime (Lista L){
Listap;
p=L;
while (p != NULL){
printf("%c-->", p->info);
p=p->prox;
}
printf("NULL\n");
}
//------------------------------------------------------------------------------
//função que verifica a quantidades cadas na lista
void jogar (Lista *L){
int num, total_nos=0;
Lista *p;
p=L;
while (p!=NULL){
total_nos++;
p=p->prox;
}
int rand();
num = rand() + (total_nos) + 1;
while (p != NULL){
}
}
//-------------------------------------------------------------------------------
main(){
void tutoria();
char letra[25], lacuna[25];
int vida=6,x,i;
Lista *L;
int op, ret, fim;
char val[15];
cria(&L);
//--------------------------------------------------------------------------------
// chamando menu e opcao
do{
int clrscr();
puts(“1 - Jogar”);
puts(“0 - Sair”);
puts("\nDigite a opcao desejada");
scanf("%d", &op);
system(“cls”);
switch(op){
case 1: jogar(L);
//função para esconder a letra digitada
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
DWORD mode = 0;
GetConsoleMode(hStdin, &mode);
SetConsoleMode(hStdin, mode & (~ENABLE_ECHO_INPUT));
string palavra;
getline(cin, palavra);
fflush(stdin);
jogo();
fflush(stdin);
break;
system("cls");
}
}
while(op == 1);
}