Foros del Web » Programando para Internet » Javascript »

no hace division

Estas en el tema de no hace division en el foro de Javascript en Foros del Web. Hace todo bien menos la media, le he dado muchas vueltas y no acabo de saber porqué. Echarme una mano por favor Código HTML: <html> ...
  #1 (permalink)  
Antiguo 27/06/2011, 14:29
 
Fecha de Ingreso: junio-2010
Mensajes: 36
Antigüedad: 13 años, 10 meses
Puntos: 1
no hace division

Hace todo bien menos la media, le he dado muchas vueltas y no acabo de saber porqué. Echarme una mano por favor

Código HTML:
<html>
<head>
<title>media extremos</title>
<script language="JavaScript">
	var media;
	var acumulado;
	var contador=0;
	var salir="no";
	var nombres=new Array();
	var nom_may;
	var nom_men;
	var edades=new Array();
	nombres[contador]=prompt("¿nombre?");
	edades[contador]=prompt("¿edad?");
	var mayor=edades[contador];
	var menor=edades[contador];
	nom_may=nombres[contador];
	nom_men=nombres[contador];
	acumulado=edades[contador];
	do{
			nombres[contador]=prompt("¿nombre?");
			edades[contador]=prompt("¿edad?");
			acumulado=(acumulado+edades[contador]);
			if (edades[contador]>mayor){
				mayor=edades[contador];
				nom_may=nombres[contador];}
			if (edades[contador]<menor){
				menor=edades[contador];
				nom_men=nombres[contador];}
			contador=contador+1;
			salir=prompt("¿salir? si/no");
	}while(salir=="no");
	media= acumulado / contador;
	document.write ("el mayor es "+nom_may+" con la edad "+mayor);
	document.write ("el menor es "+nom_men+" con la edad "+menor); 
	document.write ("la media es "+media);
</script>
</head>
<body>

</body>
</html> 
  #2 (permalink)  
Antiguo 27/06/2011, 19:47
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: no hace division

Esta contando mal el "contador", deberia empezar en 1, no en cero.

Luego tiene que forzar la conversion a numero, ya que lo que retorna la funcion prompt siempre es una string (cadena de texto), para hacerlo simplemente escribe Number y la variable como parametro.

Código Javascript:
Ver original
  1. acumulado=Number(acumulado)+Number(edades[contador]);

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:28.