Ir ao conteúdo
  • Cadastre-se

Validação captcha


Posts recomendados

PRECISO FAZER A COMPARAÇÃO PARA SABER SE O QUE ESTA SENDO LIDO DO TECLADO É O mesmo QUE ESTA SENDO GERADO, O PROBLEMA É QUE O QUE ESTA SENDO DIGITADO É UMA STRING E O QUE ESTA SENDO GERADO É UM VETOR INTEIRO.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>

int*vetorCaptcha(int vetorCaptchaFinal[6]){

    int cont, vetorDeCaptcha[18], vetorDeNumeroAleatorio[6];

    for(cont = 0; cont < 6; cont++){
        vetorDeCaptcha[cont] = 48 + rand()% 10;
    }
    for(cont = 6; cont < 12; cont++){
        vetorDeCaptcha[cont] = 65 + rand()% 26;
    }
    for(cont = 12; cont < 18; cont++){
        vetorDeCaptcha[cont] = 97 + rand()% 26;
    }
    for(cont = 0; cont < 6; cont++){
        vetorDeNumeroAleatorio[cont] = rand() % 18;
    }
    for(cont = 0; cont < 6; cont++){
        vetorCaptchaFinal[cont] = vetorDeCaptcha[vetorDeNumeroAleatorio[cont]];

    }

    return vetorCaptchaFinal;


}

char * captchaDigitado(){

    char captchaTeclado[6];
    int *codigo;
    int cont;
    int vetor[6];

    codigo = vetorCaptcha(vetor);

    printf("Por favor, prove que você não é um robô digitando o código exibido:\n\n");

        for(cont = 0; cont < 6; cont++){
            printf("[%c]-", codigo[cont]);
        }
        printf("\n\n");

    gets(captchaTeclado);

    return captchaTeclado;
}

int validar(){

    do{
      int cont;
      int*leitura;
      int*captchaGerado;
      int erro;
      int vetor[6];

        leitura = captchaDigitado();
        captchaGerado = vetorCaptcha(vetor);

      for(cont = 0; cont < 6; cont++){
        if(captchaGerado != leitura){
          erro++;  }
      }
      if(erro == 1){

        return 1;

      }else{

        return 0; }
  }while(validar());

}


int main() {

    srand(time(NULL));
    setlocale(LC_ALL,"portuguese");

    captchaDigitado();


    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

Apesar do 'código gerado' for um vetor int, os valores representam caracteres, então você poderia criar um vetor char(string) do mesmo tamanho do 'codigo gerado'  e passar esses caracteres do codigo para essa nova string e assim você pode comparar com a 'string digitada'.

 

P.S: Quando você tem um problema em um código, e ele ter outros problemas, você não precisa criar outro tópico para resolver cada problema, apenas crie 'um' tópico para resolver o código, independente de quantos problemas houver.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...