Ir ao conteúdo

Posts recomendados

Postado

opa e ai, estou com um problema no meu codigo de um jogo da forca em c++, o problema é que ele pula direto pro final, podem me ajudar ?

codigo usado logo abaixo ↓

 

#include <iostream>
#include <stdlib.h>
using namespace std;

int main()
{
    
    char palavra[30], letra[1], secreta[30];
    int tam, i, chances, acertos;
    bool acerto=false;
    
    chances=6;
    tam=0;
    i=0;
    acerto=false;
    acertos=0;
    
    cout << "digite a palavra secreta sem que seu amigo veja: ";
    cin >> palavra;
    system("clear");
    
    while(palavra[i] != '\0'){
        i++;
        tam++;
    }
    
    for(i=0;i<30;i++){
        secreta[i]='_';
    }
    
    while((chances > 0)&&(acertos > tam)){
        cout << "chances restantes" << chances << "\n\n";
        cout << "palavra secreta";
        for(i=0; i<tam; i++){
            cout << secreta[i];
        }
        cout << "\n digite um letra";
        cin >> letra[0];
        for(i=0; i<tam; i++){
            if(palavra[i]==letra[0]){
                acerto=true;
                secreta[i]=palavra[i];
                acertos++;
            }
        }
        if(!acerto){
            chances--;
        }
        acertos=false;
        system("clear");
    }
    if(acertos==tam){
        cout << "voce ganhou"; 
    }else{
        cout << "PERDEU";
    }
    return 0;
}

 

  • Obrigado 1
Postado

@artigo13         o que o @vangodp  disse está certo , então seu código poderia ser assim  :

#include <iostream>
#include <stdlib.h>
using namespace std;
int main(){
    char palavra[30],letra,secreta[30];
    int tam,i,chances=6,acertos=0;
    bool acerto;
    cout<<"digite a palavra secreta sem que seu amigo veja: ";
    cin >> palavra;
    system("cls");
    tam = strlen(palavra);
    for(i=0;i<30;i++){
        secreta[i]='_';
    }
    while((chances > 0)&&(acertos < tam)){/* aqui colocou o sinal invertido */
        cout<<"chances restantes"<<chances<<"\n"<<endl;
        cout<<"palavra secreta -> ";
        for(i=0; i<tam; i++){
            cout<<secreta[i];
        }
        cout<<"\n digite um letra";
        cin >> letra;
        acerto=false;
        for(i=0; i<tam; i++){
            if(palavra[i]==letra){
                acerto=true;
                secreta[i]=palavra[i];
                acertos++;
            }
        }
        if( ! acerto){
            chances--;
        }
        system("cls");
    }
    if(acertos == tam){
        cout<<"voce ganhou"<<endl;
    }
    else{
        cout<<"PERDEU"<<endl;
    }
    return 0;
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...