none
Corrigir erro programa RRS feed

  • Pergunta

  • So identifica a letra errada no começo do jogo, se acerta e depois erra ele não conta.

    #include<stdio.h> 
    #include<string.h> 
    #include<conio.h> 
    #include<stdlib.h> 
    
    int main() { 
    
    char palavra[25],letra[25],lacuna[25]; 
    int vida=6,x=0,i,total=0,cont=0; 
    
    
    printf("                    ******************************");
    printf("\n                            JOGO DA FORCA \n");
    printf("                    ******************************\n");
    
    printf("\n                             BOM JOGO\n\n");
    
    printf("\nDIGITE A PALAVRA E TECLE ENTER PARA CONTINUAR");
    printf("\n\nPALAVRA: ");
    
    gets(palavra); 
    fflush(stdin);
    
    
    
    system("cls");
    
    for(i=0;i<strlen(palavra);i++) 
    { 
    lacuna[i]='X'; 
    total++;
    cont++;
    } 
    
    while(vida>0) 
    { 
    
    printf("\nA PALAVRA COMTEM %i LETRAS\n",total);
    printf("\nLETRAS RESTANTES: %i\n",cont);
    
     
    printf("\n%s\n",lacuna); 
    printf("\nENTRE COM UMA LETRA: "); 
    gets(letra); 
    system("cls");
    
    for(i=0;i<strlen(palavra);i++) 
    { 
    if(letra[0]==palavra[i]) 
    { 
    lacuna[i]=palavra[i]; 
    x++; 
    cont--;
    
    } 
    } 
    
    if(cont==0){
    printf("PARABENS! VOCE VENCEU!");	
    printf("\nACERTOU A PALAVRA %s", palavra);
    }
    
    if(x==0) 
    { 
    vida--; 
    printf("\nVOCE PERDEU UMA VIDA!\nVOCE TEM %d VIDA(S) RESTANTES\n\n",vida); 
    
    } 
    
    }
     
    printf("\n\nVC FOI ENFORCADO, Fim de jogo!\n\n\nPALAVRA SECRETA: %s",palavra);
    
    printf("\n\n***********************\n\n");
    printf("* JOGO DA FORCA *\n\n");
    printf(" ___ \n");
    printf(" | | \n");
    printf(" | O  \n");
    printf(" |/|\ \n");
    printf(" | |  \n");
    printf(" |/ \  \n");
    printf(" |______ \n");
    printf("\n**********************\n");
     
    getchar(); 
    getchar(); 
    return 0; 
    }



    • Editado SouthNew sábado, 10 de junho de 2017 15:25
    sábado, 10 de junho de 2017 15:23

Respostas

  • Adaptado L : Um dia a tecnologia avançara tanto que ficara indistinguível da magia.

    Original - Clarke: Qualquer tecnologia suficientemente avançada é indistinguível de magia.


    Bem amigo SouthNew desculpe a demora mais ai esta a solução para seus problemas , estava trabalhando e nao pude ver esse seu problema logo mais bem ai esta, espero que te ajude,

    sim o codigo foi totalmente refeito por min pega ai e adapta ao seu jeito.

    a e também ajeita ai o código pq ta bagunçado

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

    int main(){
        //A STRING PALAVRA E SOMENTE POR RECEBER O PRIMEIRO VALOR
        //A STRING TENTATIVA E RESPONSAVEL POR RECEBER A LETRA
        //A STRING RESERVA E A RESPONSAVEL POR CONTER A PÁLAVRA NA COMPARAÇÃO OU SEJA "A MAIS IMPORTANTE"
        //A STRING OCULTA SERA USADA PARA MOSTRA NA INFORMAÇAO O ANDAMENTO DE ACERTOS DE LETRAS E NA COMPARAÇÃO
        char palavra[10],tentativa[1],reserva[10],Oculta[10];;
        //INT TAMANHO RESPONSAVEL POR CONTER O TAMANHO
        //INT VIDA A VIDA
        //INT COUNT RESPONSAVEL POR CONTAR OS ERROS
        //INT COMPARA RESPONSAVEL PARA IDENTIFICAR SE O JOGADOR GANHOU
        int tamanho,vida=5,count=0,compara=0;
        //CONTADORES DO FOR
        int i,j;

        //LER A PALAVRA
        printf("DIGITE UMA PALAVRA DE NO MAXIMO 10 LETRAS: ");
        scanf("%s",&palavra);
        //COMTAR A PALVRA
        tamanho= strlen(palavra);
        //INSERIR O X NO OCULTA E PASSA OS VALORES PARA A STRING RESERVA
        for(i=0;i<tamanho;i++){
            Oculta[i]='x';
          reserva[i]=palavra[i];
        }
        //VERIFICAMOS A CONDIÇÃO FOI ATENDIDA
        system("cls");
        if(tamanho <10 && tamanho>0  ){
            //ENTRAMOS NO JOGINHO
            do{
                //MOSTRAMOS AS INFORMAÇOES BASICAS
                printf("A PALAVRA CONTEM %i LETRAS\n",tamanho);
                for(i=0;i<tamanho;i++){
                   printf("%c",Oculta[i]);

                }printf("\n");
                printf("VOCE TEM %i VIDAS\n",vida);
                //LER LETRAS DAS TENTATIVAS     
                printf("DIGITE UMA LETRA: ");
                scanf("%s",&tentativa);
                //FOR PARA PERCORRER AS STRING E LETRAS DIGAMOS ALGORITMO DE "BUSCA"
                for(i=0;i<tamanho;i++){  
                    //VEMOS SE A LETRA EXISTE NA STRING E SE NAO JA FOI ULTILIZADA
                    if(reserva[i] == tentativa[0] && Oculta[i]!=reserva[i]){
                            //ATRIBUIMOS O VALOR NA OCULTA PARA MOSTRA NAS INFORMAÇOES
                            Oculta[i]=tentativa[0];
                            //ADICIONAMOS O COMPARA

                           compara++;
                    }else{
                        //ADICIONAMOS O COUNT
                        count++;



                    }
                }
                //VERIFICAMOS SE A LETRA NAO EXISTE SE NAO REMOVEMOS UMA VIDA
                if(count == tamanho){
                    vida--;                
                }
                //TEMOS QUE ZERAR O CONTADOR PARA PODERMOS REMOVER VIDAS
                 count=0;

                //VEMOS SE O COMPARADOR E IGUAL AO TAMANHO SE FOR DA BREAK E FIM DE JOGO
                if(compara == tamanho){
                    break;
                }
                //LIMPAMOS A TELA
               system("cls");
            }while(vida>0);
            //SE O JOGO ACABA E A VIDA FOR 0 VC PERDEU SE NAO VC GANHOU
            if(vida == 0){
                system("cls");
                printf("VOCE PERDEU HAHAHAHAHAHA!\n");
            }else{
                  system("cls");
                printf("VOCE GANHOUUUU MIZERAVE!\n");
            }


        }else{
            //CASO A CONDIÇÃO INICIAL DO TAMANHO DA PALAVRA NAO FOR ATENDIDA
            printf("FAVOR DIGITA A PALAVRAS COM TOTAL DE CARACTERES PEDIDO");


        }  




        return 0;
    }

                                                                                                                          
    • Editado L 2014 quarta-feira, 21 de junho de 2017 19:30
    • Sugerido como Resposta L 2014 quarta-feira, 21 de junho de 2017 19:30
    • Não Sugerido como Resposta L 2014 quarta-feira, 21 de junho de 2017 19:30
    • Sugerido como Resposta L 2014 quarta-feira, 22 de janeiro de 2020 13:48
    • Marcado como Resposta SouthNew quarta-feira, 11 de novembro de 2020 15:27
    quarta-feira, 21 de junho de 2017 19:14

Todas as Respostas

  • Adaptado L : Um dia a tecnologia avançara tanto que ficara indistinguível da magia.

    Original - Clarke: Qualquer tecnologia suficientemente avançada é indistinguível de magia.


    Bem amigo SouthNew desculpe a demora mais ai esta a solução para seus problemas , estava trabalhando e nao pude ver esse seu problema logo mais bem ai esta, espero que te ajude,

    sim o codigo foi totalmente refeito por min pega ai e adapta ao seu jeito.

    a e também ajeita ai o código pq ta bagunçado

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

    int main(){
        //A STRING PALAVRA E SOMENTE POR RECEBER O PRIMEIRO VALOR
        //A STRING TENTATIVA E RESPONSAVEL POR RECEBER A LETRA
        //A STRING RESERVA E A RESPONSAVEL POR CONTER A PÁLAVRA NA COMPARAÇÃO OU SEJA "A MAIS IMPORTANTE"
        //A STRING OCULTA SERA USADA PARA MOSTRA NA INFORMAÇAO O ANDAMENTO DE ACERTOS DE LETRAS E NA COMPARAÇÃO
        char palavra[10],tentativa[1],reserva[10],Oculta[10];;
        //INT TAMANHO RESPONSAVEL POR CONTER O TAMANHO
        //INT VIDA A VIDA
        //INT COUNT RESPONSAVEL POR CONTAR OS ERROS
        //INT COMPARA RESPONSAVEL PARA IDENTIFICAR SE O JOGADOR GANHOU
        int tamanho,vida=5,count=0,compara=0;
        //CONTADORES DO FOR
        int i,j;

        //LER A PALAVRA
        printf("DIGITE UMA PALAVRA DE NO MAXIMO 10 LETRAS: ");
        scanf("%s",&palavra);
        //COMTAR A PALVRA
        tamanho= strlen(palavra);
        //INSERIR O X NO OCULTA E PASSA OS VALORES PARA A STRING RESERVA
        for(i=0;i<tamanho;i++){
            Oculta[i]='x';
          reserva[i]=palavra[i];
        }
        //VERIFICAMOS A CONDIÇÃO FOI ATENDIDA
        system("cls");
        if(tamanho <10 && tamanho>0  ){
            //ENTRAMOS NO JOGINHO
            do{
                //MOSTRAMOS AS INFORMAÇOES BASICAS
                printf("A PALAVRA CONTEM %i LETRAS\n",tamanho);
                for(i=0;i<tamanho;i++){
                   printf("%c",Oculta[i]);

                }printf("\n");
                printf("VOCE TEM %i VIDAS\n",vida);
                //LER LETRAS DAS TENTATIVAS     
                printf("DIGITE UMA LETRA: ");
                scanf("%s",&tentativa);
                //FOR PARA PERCORRER AS STRING E LETRAS DIGAMOS ALGORITMO DE "BUSCA"
                for(i=0;i<tamanho;i++){  
                    //VEMOS SE A LETRA EXISTE NA STRING E SE NAO JA FOI ULTILIZADA
                    if(reserva[i] == tentativa[0] && Oculta[i]!=reserva[i]){
                            //ATRIBUIMOS O VALOR NA OCULTA PARA MOSTRA NAS INFORMAÇOES
                            Oculta[i]=tentativa[0];
                            //ADICIONAMOS O COMPARA

                           compara++;
                    }else{
                        //ADICIONAMOS O COUNT
                        count++;



                    }
                }
                //VERIFICAMOS SE A LETRA NAO EXISTE SE NAO REMOVEMOS UMA VIDA
                if(count == tamanho){
                    vida--;                
                }
                //TEMOS QUE ZERAR O CONTADOR PARA PODERMOS REMOVER VIDAS
                 count=0;

                //VEMOS SE O COMPARADOR E IGUAL AO TAMANHO SE FOR DA BREAK E FIM DE JOGO
                if(compara == tamanho){
                    break;
                }
                //LIMPAMOS A TELA
               system("cls");
            }while(vida>0);
            //SE O JOGO ACABA E A VIDA FOR 0 VC PERDEU SE NAO VC GANHOU
            if(vida == 0){
                system("cls");
                printf("VOCE PERDEU HAHAHAHAHAHA!\n");
            }else{
                  system("cls");
                printf("VOCE GANHOUUUU MIZERAVE!\n");
            }


        }else{
            //CASO A CONDIÇÃO INICIAL DO TAMANHO DA PALAVRA NAO FOR ATENDIDA
            printf("FAVOR DIGITA A PALAVRAS COM TOTAL DE CARACTERES PEDIDO");


        }  




        return 0;
    }

                                                                                                                          
    • Editado L 2014 quarta-feira, 21 de junho de 2017 19:30
    • Sugerido como Resposta L 2014 quarta-feira, 21 de junho de 2017 19:30
    • Não Sugerido como Resposta L 2014 quarta-feira, 21 de junho de 2017 19:30
    • Sugerido como Resposta L 2014 quarta-feira, 22 de janeiro de 2020 13:48
    • Marcado como Resposta SouthNew quarta-feira, 11 de novembro de 2020 15:27
    quarta-feira, 21 de junho de 2017 19:14
  • por favor lembre de  marcar como resposta ! 
    quarta-feira, 22 de janeiro de 2020 13:50