recherche

Maison  >  Questions et réponses  >  le corps du texte

Calculatrice IMC avec commutateur

I was working in a IMC calculator to exercise js. This calculator should shows the IMC and a message acording the result but, for some reason, it always shows the default message.

    

const form = document.querySelector('#form');
    
    
    form.addEventListener('submit',(e)=>{
        e.preventDefault();

    const weight = document.querySelector('#weight').value;
    const height = document.querySelector('#height').value;

    const bmi = (weight / (height **2)).toFixed(2);


    const value = document.querySelector('#value');
    let description = '';

    document.querySelector('#infos').classList.remove('hiden');

    
    switch(bmi){
        case bmi < 18.5:
            description = 'Cuidado! Você está abaixo do peso!';
            break;
        case bmi >= 18.5 && bmi <= 25:
            description = "Você está no peso ideal!";
            value.classList.remove('attention');
            value.classList.add('normal');
            break;
        case bmi > 25 && bmi <= 30:
            description = "Cuidado! Você está com sobrepeso!";
            break;
        case bmi > 30 && bmi <= 35:
            description = "Cuidado! Você está com obesidade moderada!";
            break;
        case bmi > 35 && bmi <= 40:
            description = "Cuidado! Você está com obesidade severa!";
            break;
        case bmi > 40:
            description = "Cuidado! Você está com obesidade morbida!";
            break;
        default:
            description = "verifique novamente";
            break;
        }
    value.textContent = bmi.replace('.', ',')
    document.querySelector('#description').textContent =description ;
   
});

J'ai essayé de réécrire, en utilisant des parenthèses dans des cas comme celui-ci > case (imc > 25 && bmi <= 30) 并检查了作业说明。 Algo seak 在 yt 中寻找一些使用 switch 的教程,但没有找到。

P粉231112437P粉231112437348 Il y a quelques jours611

répondre à tous(1)je répondrai

  • P粉727531237

    P粉7275312372024-01-11 15:00:35

    Vous ouvrez un numéro, mais tous les cas sont évalués en booléens afin qu'ils puissent correspondre. Vous pouvez utiliser une série de ifelse ifelse à la place.

    Ou, allumez plutôt true,这将导致选择第一个计算结果为 true.

    switch (true) {
        // ...
    }
    

    répondre
    0
  • Annulerrépondre