JavaScript - No consigo que funcione este programa. ¡AYUDA!

 
Vista:

No consigo que funcione este programa. ¡AYUDA!

Publicado por Helen (3 intervenciones) el 27/03/2022 14:03:13
¿Alguien puede decirme qué estoy haciendo mal?

Muchas gracias de antemano.

Estoy intentando hacer un programa que me indique si se han alcanzado las visitas marcadas por nuestro cliente con una pequeña comparativa entre navegadores. No me funciona:

const objetivo = 5000;

var visitasFirefox = 1500;
var visitasChrome = 3100;
var visitasIE = 400;
var visitasOpera = 20;
var visitasSafari = 15;

totalVisitas=visitasFirefox + visitasChrome + visitasIE + visitasOpera + visitasSafari;

if (totalVisitas < objetivo) {
alcanzado = 'N';
}

switch (alcanzado) {
case 'S' :
mensaje = "Objetivo alcanzado!";
case 'N' :
mensaje = "Objetivo no alcanzado!";
break;
}
console.log(mensaje);

if (visitasFirefox > visitasChrome){
console.log('Firefox ha ganado a Chrome por una diferencia de ' + diferencia + ' visitas');
}else{
console.log('Chrome ha ganado a Firefox por una diferencia de ' + diferencia + ' visitas');
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Ivan

No consigo que funcione este programa. ¡AYUDA!

Publicado por Ivan (118 intervenciones) el 27/03/2022 21:07:50
Hola,

a simple vista y con los datos que aportas puedo decirte 3 cosas:

Primero:
La condición (totalVisitas < objetivo) no contempla la opción S, por lo que la variable "alcanzado" sólo existirá con el valor N
En mi lógica pondría el condicional así:

var alcanzado = "N";
if (totalVisitas >= objetivo) alcanzado = "S";

Segundo:
El switch no tiene break; en el case S, por lo que siempre seguirá ejecutando el case N.

Tercero:
La variable "diferencia" de los últimos console.log no está definida

Un Saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar