@Eduardo Ribeiro_720097 Utilize ponteiro ao invés de retornar um vetor, fica mais fácil.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
void vetorCaptcha(char *captcha){
int cont;
for(cont = 0; cont < 6; cont++){
*(captcha+cont) = 65+rand()%26;
}
}
void captchaDigitado(char *leitura, char *codigo){
int cont;
for(cont = 0; cont < 6; cont++){
printf("%c", *(codigo+cont));
}
printf("\nPor favor, prove que você não é um robô digitando o código exibido:\n");
fflush(stdin);
gets(leitura);
fflush(stdin);
}
int validar(){
int cont, erro;
char *leitura=(char*)malloc(6*sizeof(char));
char *codigo=(char*)malloc(6*sizeof(char));
vetorCaptcha(codigo);
captchaDigitado(leitura, codigo);
erro=0;
for(cont = 0; cont < 6; cont++){
if(*(leitura+cont)!=*(codigo+cont)){
erro++;
}
}
if(erro == 0){
return 0;
}
else{
return 1;
}
}
int main() {
srand(time(NULL));
setlocale(LC_ALL,"portuguese");
int verifica;
do{
verifica=validar();
if(verifica==0)
printf("Acertou!\n\n");
else
printf("Errou!\n\n");
}while(verifica!=0);
return 0;
}
Juro q tentei entender seu gerador de captcha, mas é confuso. então só para explicar eu fiz um que gera apenas letras maiúsculas.
Se não entender alguma parte pode perguntar.