Buscar

MAPA -TI - ALGORITMOS E LÓGICA DE PROGRAMAÇÃO II - 52/2020

Suponha que você é gestor de uma equipe de desenvolvimento de software e em determinado momento é pedido por um gestor de projetos que seja feita uma atualização de um dos softwares que haviam sido iniciados, mas não concluídos.

Este software se trata de um jogo da Forca simples, mas que permite jogar em duas pessoas alternando entre quem vai informar a palavra secreta, e quem vai informar letras até acertar a palavra secreta ou ser enforcado.

Basicamente, o funcionamento atual do jogo se baseia da seguinte forma:


1. É informado ao jogador 1 sobre as regras básicas do jogo.

2. O Jogador 1 informa uma palavra secreta com até 20 letras.

3. O jogador 2 é informado das regras básicas do jogo.

4. O jogador 2 informa uma letra palpite.

5. A cada palpite é verificado se o mesmo acertou ou errou, e é informado ao mesmo a quantidade atual de acertos e erros.

6. O jogo termina se ele acertar todas as letras da palavra secreta, ou for enforcado após cometer o sexto palpite equivocado.

Suponha que o mesmo não tenha sido concluído e algumas partes do código estejam faltando para que o mesmo funcione e sua equipe foi encarregada da retomada deste código para que o mesmo possa ser finalizado, executado e testado. Isso representa a tarefa referente a questão 1.

Paralelamente ao desenvolvimento do restante do código faltante pelos desenvolvedores, foi pedido que você e alguns colaboradores se reunam para discutir melhorias que poderiam ser implementadas no software, sendo este o trabalho a ser desenvolvido na questão 2.


Para esta atividade então, são pedidas duas tarefas:

Questão 1: Completar as partes faltantes do código em linguagem C indicadas por lacunas e enviar o mesmo completo usando como base o código que vem ao final da atividade. É preciso completar o código com o ajuste do idioma, a condição de parada do laço de repetição principal do jogo e a verificação de vitória ou derrota do jogador 2.

Questão 2: Citar ao menos duas melhorias que poderiam ser acrescentadas neste código de forma a tornar o software mais completo, robusto ou com uma interface mais agradável em forma textual apenas, não sendo necessário o envio do código relativo a estas melhorias.

Assim, a entrega para esta atividade se baseia em um arquivo TXT de texto simples contendo o código de resposta da Questão 1, e suas considerações escritas para a questão 2 no mesmo arquivo a ser anexado como atividade.


Segue o código base para a questão 1 com lacunas indicando trechos de código faltantes.

#include <stdio.h>

#include <string.h>

______________________________      // ---------- Aqui falta a biblioteca necessária para idioma - 0.1 ponto


int main()

{

    char resposta[20]; 

    int erros;         

    int acertos;        

    char letra;         

    int i, j;           

    int max;           

 

    __________________________  // --------- Aqui falta a definiçao de idioma - 0.1 ponto


    printf("************ Jogo da Forca ************\n");       

    printf("************** Jogador 1 **************\n\n");

    printf("Utilize apenas letras minúsculas.\n");

    printf("Máximo de 20 letras\n\n");


    letra = ' '; max = 1;            

    for (i = 1; i <= 20; i++) {  

        resposta[i] = ' ';  

    }

    erros = 0; acertos = 0;


   printf("Digite a palavra secreta: ");

    scanf (" %s", resposta);

  max = strlen (resposta);

    system("clear||cls"); 

        

    printf("************ Jogo da Forca ************\n");  

    printf("************** Jogador 2 **************\n\n");

    printf("Utilize apenas letras minúsculas.\n");

    printf("Limite de 6 erros. Palavra de até 20 letras\n\n");


    while _________________________________   // Aqui falta a condição de parada do laço - 0,3 ponto

    {

          printf("Digite uma letra: ");

          scanf (" %c", &letra);

          j = 0;

          for (i = 0; i <= max; i++)

          {

               if (resposta[i] == letra)

               {

                   acertos++; j++;

                   printf ("\nAcertos: %d - Erros: %d\n",acertos, erros);

               }

          }

          if (j <= 0)     

                erros++;


\* ------------------- Aqui falta a parte responável pela verificação de vitoria ou derrota ----------------------*/




\* -------------------------------------- Final da Verificação ----------------------------------------------------------------*/


    }

    return (0);

}

 

💡 4 Respostas

User badge image

Marcos Fernando

Está sem TEMPO e Precisando de ajudas nos trabalhos académicos entre em contato com a nossa equipe que vamos ajudar você!

Contato

E-mail: ajudastrabalhosprogramacao@gmail.com

Blog: marcosprogramacao.blogspot.com.br

Facebook: fb.me/ajudaemTrabalhosdeprogramacao

0
Dislike1
User badge image

MATEUS FELIPE

444

0
Dislike0
User badge image

Marcella Faccin

#include <stdio.h>

#include <string.h>

#include <locale.h>

#include <stdlib.h>

     

int main()

{

system ("cls");

setlocale(LC_ALL,"Portuguese");


  char resposta[20];  

  int erros;      

  int acertos;     

  char letra;      

  int i, j;       

  int max;       

   

  printf("************ Jogo da Forca ************\n");     

  printf("************** Jogador 1 **************\n\n");

  printf("Utilize apenas letras minúsculas.\n");

  printf("Máximo de 20 letras\n\n");


  letra = ' '; max = 1;       

  for (i = 1; i <= 20; i++) {  

    resposta[i] = ' ';  

  }

  erros = 0; acertos = 0;


  printf("Digite a palavra secreta: ");

  scanf (" %s", resposta);

  max = strlen (resposta);

  system("clear||cls");  

     

  printf("************ Jogo da Forca ************\n");  

  printf("************** Jogador 2 **************\n\n");

  printf("Utilize apenas letras minúsculas.\n");

  printf("Limite de 6 erros. Palavra de até 20 letras\n\n");

   

   while (acertos<strlen(resposta) && erros<6)

  {

     printf("Digite uma letra: ");

     scanf (" %c", &letra);

     j = 0;

     for (i = 0; i <= max; i++)

     {

        if (resposta[i] == letra)

        {

          acertos++; j++;

          printf ("\nAcertos: %d - Erros: %d\n",acertos, erros);

        }

     }

     if (j <= 0)    

        erros++;

}


if (acertos == strlen(resposta))

{

printf ("\nPARABÉNS, VOCÊ VENCEU!\n");

}

else

printf ("\nQUE PENA, VOCÊ PERDEU!!!\n");

  return (0);

}


para a questão 2 a resposta creio que seja a utilização do do while

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais