Hola gente de forosdelweb, llego aca porque estuve un rato largo tratando de encontrarle solución a un problema pero me seco la cabeza y decidi preguntar por acá.
Estoy aprendiendo JavaScript y se me presento el siguiente problema que lo debo hacer con do while:
Se realizó un censo provincial y se desea procesar la información obtenida en dicho censo. De cada una de las personas censadas se tiene la siguiente información: número de documento, edad y sexo ('femenino' o 'masculino')
Se pide confeccionar un programa que lea los datos de cada persona censada (para finalizar ingresar el valor cero en el número de documento) e informar:
a) Cantidad total de personas censadas.
b) Cantidad de varones.
c) Cantidad de mujeres.
d) Cantidad de varones cuya edad varía entre 16 y 65 años.
Lo que yo hice fue esto:
Código:
var varon='varon';
var mujer='mujer';
var varones=0;
var mujeres=0;
var varia=0;
do {
var doc=prompt('Numero de documento');
doc=parseInt(doc);
if (doc!=0) {
var edad=prompt('Edad');
var sexo=prompt('Sexo');
edad=parseInt(edad);
};
if (sexo==varon) {
varones=varones+1;
}else {
if (sexo==mujer) {
mujeres=mujeres+1;
}
};
if (sexo==varon && edad>=16 && edad<=65) {
varia=varia+1;
}
} while (doc!=0);
var cantidad=varones+mujeres;
document.write('Fueron censados '+cantidad+'<br>');
document.write('La cantidad de varones es de '+varones+'<br>');
document.write('La cantidad de mujeres es de '+mujeres+'<br>');
document.write('La cantidad de varones de entre 16 y 65 años es de '+varia);
Hasta ahi yo creo que el codigo deberia funcionar bien pero en vez sumarme las variables de varones, mujeres y varia, se me multiplican, por ejemplo cargo los datos de una persona y en vez de darme como resultado que fueron censados 1 persona, me da que fueron 2 y lo mismo con las demas variables. Digo que se multiplica en vez de sumar porque cambie el +1 por un +2 y de resultado me daba 4 y lo mismo con otros numeros me los multiplica en vez de sumarme 1 por cada variable con valor mujer o varon.
Espero poder haber sido claro y que alguien me pueda guiar al menos para poder hacerlo.
Desde ya muchísimas gracias a los que respondan.