Jump to content
  • 0
VitinhoBBK

Jogo da velha/Erro Ao Executar !

Question

Seguinte, estou tentando criar um jogo da velha mas e está causando um erro ao compilar, aparece um erro dizendo->|error: cannot convert 'char (*)[3]' to 'char*' for argument '1' to 'bool verificaX(char*)', alguem sabe como posso resolver ???! (Aparentemente não ta dando pra armazenar o endereço do vetor casas dentro do ponteiro das funções...

Obs: Aceito sugestões para melhorar meu código, grato.(Ignorem as bibliotecas inúteis)

 

 

#include <iostream>
#include <stdio.h> //Para função gets
#include <stdlib.h> //Para função malloc
#include <math.h>
#include <iomanip>

                    //JOGO DA VELHA

using namespace std;

int jogadas=0;

bool verificaX(char *vetor);
bool verificaO(char *vetor);

int main(){

    char casas[3][3]={' ',' ',' ',' ',' ',' ',' ',' ',' '};
    int l=0,c=0;

    while(jogadas<9){

         cout << "\t\t" << casas[0][0] << " | " << casas[0][1] << " | " << casas[0][2] << "\n";
         cout << "\t\t_________\n";
         cout << "\t\t" << casas[1][0] << " | " << casas[1][1] << " | " << casas[1][2] << "\n";
         cout << "\t\t_________\n";
         cout << "\t\t" << casas[2][0] << " | " << casas[2][1] << " | " << casas[2][2] << "\n\n\n";

        cout << "Digite uma linha: ";
        cin >> l;
        cout << "Digite uma coluna: ";
        cin >> c;

        while(l<=0 || c <=0 || l>3 || c>3){
            system("cls");
            cout << "Linha ou Coluna não existe!";
            cout << "Digite uma linha: ";
            cin >> l;
            cout << "Digite uma coluna: ";
            cin >> c;
        }
        system("cls");
        if(jogadas%2==0){
            casas[--l][--c]='X';
        }else{
            casas[--l][--c]='O';
        }
        jogadas++;

        verificaX(casas);
        verificaO(casas);

    }

        if(verificaX){
            cout << "Jogador X ganhou!";
        }else if(verificaO){
            cout << "Jogador O ganhou!";
        }else{
            cout << "Empate!";
        }
    return(0);
}

bool verificaX(char *vetor){
    int l,c;
    for(l=0;l<3;l++){
        if(vetor[l][0] && vetor[l][1] && vetor[l][2] == 'X'){
            jogadas=10;
            return true;
        }else if(vetor[0][c] && vetor[1][c] && vetor[2][c] == 'X'){
            jogadas=10;
            return true;
        }
        c++;
    }
    return 0;
}
bool verificaO(char *vetor){
    int l,c;
    for(l=0;l<3;l++){
        if(*vetor[l][0]=='X' && *vetor[l][1]=='X' && *vetor[l][2] == 'X'){
            jogadas=10;
            return o=true;
        }else if(*vetor[0][c]=='X' && *vetor[1][c]=='X' && *vetor[2][c] == 'X'){
            jogadas=10;
            return o=true;
        }
        c++;
    }
    return 0;
}

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

1- Em C ao se compara strings você tem que usar um função do C. Em C++ pode não ser diferente, se quiser pesquise sobre.

 

2- Você tá comparando com essas aspas ' ' e não estas " ",  essas que são para comparar strings.

if(*vetor[l][0]=='X' && *vetor[l][1]=='X' && *vetor[l][2] == 'X')

3- Nas linhas return:

return o=true;

Por que não retornar apenas true? Ao invés de fazer algo receber. Acho que não existe " o "  na sua função. Essa variável.

Flw.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By jadson16
      Estou com um erro no site , esse site era de um jogo antigo que estava gravado no dvd ai tentei abrir ele só pra olhar mesmo e relembrar os velhos tempos mais não consigo arrumar, estou muito precisando de ajuda quem poder me ajudar por favor ficarei grato, vou postar a imagens dos seguinte erros:
       

      Esse é o primeiro erro que mostra e quando vou olhar na linha 460 está assim


       
    • By Full Burn
      Bom dia,
       
      Estou com um problema bem estranho e chato no WP.
       
      Vou logar no painel, coloco o login e a senha corretos, mas depois de enviar, ele volta no login. Não dá nem o alerta de senha errada, pois ela está certa. Apenas volta no login e não abre o painel.
       
      Para entrar, tenho que pedir resgate de senha, fazer o procedimento de trocar a senha e aí consigo entrar. Mas depois de sair, fechar o navegador e tentar entrar de novo, acontece a mesma coisa e tenho que novamente pedir resgate de senha para conseguir entrar.
       
      Alguém já viu isso e sabe me dizer o que é?
       
      Já atualizei a versão do WP e não resolveu.
       
      Agradeço pela ajuda.
    • By christin cley
      Construir um algoritmo em C++ que preencha um matriz quadrada de tamanho 4 pelo usuário. Após o preenchimento pelo usuário, verifique na diagonal principal qual foi o maior valor digitado e exiba na tela o valor. Por fim,  exiba na tela toda matriz em forma de matriz na tela.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.