Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

problema, no programa que cria uma forca!

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    C / C++ problema, no programa que cria uma forca!

    por favor não pode me ajudar, o codigo funciona, mas quando cai uma palavra que é de 6 letras ou menos, não compara a palavra e da como "você errou" mesmo tento acertado o codigo é esse:



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

    int main(void) {

    char letra=' ',letra_digitada[10], PALAVRA[10], compara[10], recebePalavra[10]= {"__________"};
    char banco[5][10]={"cavalo","cachorro","girafa","papagaio","gato" };
    int i, cont_letra=0, cont=0, palavra=0 ;

    srand(time(NULL));
    palavra = rand() % 5;

    for(i=0; i<10; i++){
    PALAVRA[i]=banco[palavra][i];
    }

    while (cont <= 6) {

    system("clear");
    printf("Numero de letras: %i\n", strlen(PALAVRA));

    if (letra != ' '){
    letra_digitada[cont_letra] = letra;
    cont_letra++;
    printf("Letras já digitadas: ");
    for (i=0; i<cont_letra; i++) {
    printf("%c ", letra_digitada[i]);
    }
    }

    printf("\n");

    if (cont == 6){
    for (i=0; i<10; i++) {
    if (i < strlen(PALAVRA)) {
    printf("%c ", recebePalavra[i]);
    }
    }
    for (i=0; recebePalavra[i] != '_'; i++) {
    compara[i] = recebePalavra[i];
    }
    if ((strcmp(compara, PALAVRA) == 0)){
    printf("\n\nVocê acertou!\n");
    for (i=0; i<10; i++) {
    printf("%c", compara[i]);
    }
    break;
    } else {
    printf("\n\nVocê errou!\n");
    for (i=0; i<10; i++) {
    printf("%c", compara[i]);
    }
    break;
    }
    }

    for (i=0; i<10; i++) {
    if (i < strlen(PALAVRA)) {
    printf("%c ", recebePalavra[i]);
    }
    }

    printf("\n\n");
    printf("Digite uma letra: ");
    scanf("%c%*c", &letra); // %*c limpa o buffer

    for (i=0; i<10; i++) {
    if (letra == PALAVRA[i]) {
    recebePalavra[i] = PALAVRA[i];
    }
    }

    cont++;
    }
    return 0;
    }
    Similar Threads
X
Working...
X