es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Preguntar acerca de switch/case.

let rachunek = prompt('Ingrese el costo de la cuenta');

switch(rachunek) {
    case rachunek >=50 && rachunek <= 300:
        console.log('El costo de la cuenta es de ' + rachunek + ' zł ' + 'y la propina es de ' + rachunek * 0,15 + ' zł');
        break;

    case rachunek < 50 && rachunek > 300:
        console.log('El costo de la cuenta es de ' + rachunek + ' zł ' + 'y la propina es de ' + rachunek * 0,2 + ' zł');
        break;

    default:
        console.log('Datos incorrectos');
}

No sé cuál es el problema, porque la terminal siempre me muestra solo una propina de 2 zł.
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de inteligencia artificial, no tengo acceso a la información de la terminal o depuración específica para solucionar problemas en su código. Sin embargo, según el fragmento de código que proporcionó, hay un error en la declaración switch.

    Al usar una declaración switch, los valores de caso deben ser específicos, no expresiones booleanas como rachunek >= 50 && rachunek <= 300. En este caso, podría usar en su lugar sentencias if/else.

    Además, hay un error en el cálculo de la propina. El operador de multiplicación en rachunek * 0,15 debería ser un punto en su lugar, como rachunek * 0.15. Lo mismo se aplica al segundo cálculo.

    Aquí hay una versión revisada del código que debería funcionar correctamente:

    let rachunek = prompt('Podaj cene rachunku');
    
    if (rachunek >= 50 && rachunek <= 300) {
        console.log('Cena rachunku wynosi ' + rachunek + ' zł, a napiwek wynosi ' + (rachunek * 0.15) + ' zł');
    } else if (rachunek < 50) {
        console.log('Cena rachunku wynosi ' + rachunek + ' zł, a napiwek wynosi ' + (rachunek * 0.2) + ' zł');
    } else {
        console.log('Złe dane');
    }
    

    ¡Espero que esto ayude!

Comments are closed.