Ajuda com um código

JavaScript

22/05/2023

PRECISO DE AJUDA!!ESTOU ACERTANDO 50%, preciso saber o q estou errando.

function verificarCategoriaPeso(peso1, peso2) {
if (peso1 < 55 || peso2 < 55) {
return "PODEM LUTAR";
} else if (peso1 < 65 && peso2 < 65) {
return “PODEM LUTAR”;
} else if (peso1 < 75 && peso2 < 75) {
return "PODEM LUTAR";
} else if (peso1 < 85 && peso2 < 85) {
return "PODEM LUTAR";
} else {
return "NAO PODEM LUTAR";
}
}

var pesoLutador1 = 70;
var pesoLutador2 = 80;
var resultado = verificarCategoriaPeso(pesoLutador1, pesoLutador2);
console.log(resultado);
Gabrieli Ferreira

Gabrieli Ferreira

Curtidas 0

Respostas

Arthur Heinrich

Arthur Heinrich

22/05/2023

Imagino que as faixas de categoria são excludentes.

Na primeira faixa você utilizou um OR (peso1 < 55 || peso2 < 55). Então, se um jogador tem 40 Kg e o outro 84, vão poder lutar. O próprio exemplo (70 vs 80) vai dar errado porque o 80 só entra na faixa <85, mas para isso deveria ser >=75, o que o 70 não é.

Mas apenas mudar para AND não resolve o problema. Você precisa detectar a faixa para garantir que todos estejam na mesma.

function categoriaPeso(peso) {
  if (peso < 55) {
    return 1;
  } else if (peso < 65) {
    return 2;
  } else if (peso < 75) {
    return 3;
  } else if (peso < 85) {
    return 4;
  } else {
    return 5;
  };

function verificarCategoriaPeso(peso1, peso2) {
  if ((categoriaPeso(peso1) == categoriaPeso(peso2)) && (peso1 < 85)) {
    return "PODEM LUTAR";
  } else {
    return "NAO PODEM LUTAR";
  }

GOSTEI 0
Felipe

Felipe

22/05/2023

function categoriaPeso(peso) {
switch(peso) {
case (peso < 55): return 1;break;
case (peso < 65): return 2;break;
case (peso < 75): return 3;break;
case (peso < 85): return 4;break;
default: return 5;break;
}
}

//Criar os objetos lutadores
function Lutador(peso){
this.peso = peso;
}

var lutador1 = new Lutador(70);
var lutador2 = new Lutador(70);

//Realizando a verificação de compatibilidade de pesos
function compatibilidadeDeCategoriasDePeso(pesoLutador1, pesoLutador2){
let result = (categoriaPeso(pesoLutador1) === categoriaPeso(pesoLutador2))? "PODEM LUTAR" : "NÃO PODEM LUTAR";
console.log(result);
}
compatibilidadeDeCategoriasDePeso(lutador1.peso, lutador2.peso);
GOSTEI 0
Felipe

Felipe

22/05/2023

function categoriaPeso(peso) {
  switch(peso) {
      case (peso < 55): return 1;break;
      case (peso < 65): return 2;break;
      case (peso < 75): return 3;break;
      case (peso < 85): return 4;break;
      default: return 5;break;
  }
}

//Criar os objetos lutadores
function Lutador(peso){
         this.peso = peso;
}

var lutador1 = new Lutador(70);
var lutador2 = new Lutador(70);

//Realizando a verificação de compatibilidade de pesos
function compatibilidadeDeCategoriasDePeso(pesoLutador1, pesoLutador2){
           let result =  (categoriaPeso(pesoLutador1) ===  categoriaPeso(pesoLutador2))? "PODEM LUTAR" : "NÃO PODEM LUTAR";
           console.log(result);
}
compatibilidadeDeCategoriasDePeso(lutador1.peso, lutador2.peso);
GOSTEI 0
Arthur Heinrich

Arthur Heinrich

22/05/2023

function categoriaPeso(peso) {
  switch(peso) {
      case (peso < 55): return 1;break;
      case (peso < 65): return 2;break;
      case (peso < 75): return 3;break;
      case (peso < 85): return 4;break;
      default: return 5;break;
  }
}

//Criar os objetos lutadores
function Lutador(peso){
         this.peso = peso;
}

var lutador1 = new Lutador(70);
var lutador2 = new Lutador(70);

//Realizando a verificação de compatibilidade de pesos
function compatibilidadeDeCategoriasDePeso(pesoLutador1, pesoLutador2){
           let result =  (categoriaPeso(pesoLutador1) ===  categoriaPeso(pesoLutador2))? "PODEM LUTAR" : "NÃO PODEM LUTAR";
           console.log(result);
}
compatibilidadeDeCategoriasDePeso(lutador1.peso, lutador2.peso);


Não basta que a categoria deles seja a mesma.

Quando criei minha versão do código, numerei as faixas, dando um número à categoria. O número 5 foi atribuído a quem está acima da última faixa, em em peso. Porém, jogadores desta faixa não podem lutar. É o caso de 2 lutadores de 95 Kg.
GOSTEI 0
POSTAR