Buenos días patilanz,
Efectivamente ayer tenia clase y resolvimos el ejercicio. Te copio los códigos que usamos para que me des la opinión que te refiera.
Código HTML:
Código HTML:
Ver original <h1 id="titulo">Calculador del coste de pintar una habitación
</h1> <!-- ENTRADA DE LAS DIMENSIONES -->
<input type="text" id="longitud" name="longitud" size="10" autofocus/><label>m
</label> <td rowspan="3" class="celdaimagen"> <img src="habitacion.png" height="200px"/> <input type="text" id="profundidad" name="profundidad" size="10"/><label>m
</label>
<!-- DATOS DEL BOTE -->
<td colspan="3" id="nombrebote"> VALSPAR
<td colspan="3" id="nombrebote"> OLIMPIC PREMIUM
<td colspan="3" id="nombrebote"> BEHR ULTRA
<input type="radio" id="tipoA" name="tipopintura"/> <td id="celdadescripcion"> <input type="radio" id="tipoB" name="tipopintura"/> <td id="celdadescripcion"> <input type="radio" id="tipoC" name="tipopintura"/> <td id="celdadescripcion">
<!--Calculador-->
Código JavaScript
:
Código Javascript
:
Ver original/* valores de los diferentes precios */
var boteTipoA = 7.32;
var boteTipoB = 10.35;
var boteTipoC = 16.99;
var metrosTipoA = 10;
var metrosTipoB = 15;
var metrosTipoC = 20;
var nombreTipoA = "VALSPAR";
var nombreTipoB = "OLIMPIC PREMIUM";
var nombreTipoC = "BEHR ULTRA";
function calcular()
{
/* Comprueba que estén todos los valores */
if (document.getElementById('longitud').value == false)
{
alert("No ha introducido la longitud de la habitación");
document.getElementById('longitud').focus();
return;
} else {
longitud = Number(document.getElementById('longitud').value);
}
if (document.getElementById('profundidad').value == false)
{
alert("No ha introducido la profundidad de la habitación");
document.getElementById('profundidad').focus();
return;
} else {
profundidad = Number(document.getElementById('profundidad').value);
}
if (document.getElementById('altura').value == false)
{
alert("No ha introducido la altura de la habitación");
document.getElementById('altura').focus();
return;
} else {
altura = Number(document.getElementById('altura').value);
}
/* Escoger un tipo de pintura */
var metrosxbote = 0;
var precioxbote = 0;
var tipopintura ="";
if (document.getElementById('tipoA').checked)
{
metrosxbote = metrosTipoA;
precioxbote = boteTipoA;
tipopintura = nombreTipoA;
}
if (document.getElementById('tipoB').checked)
{
metrosxbote = metrosTipoB;
precioxbote = boteTipoB;
tipopintura = nombreTipoB;
}
if (document.getElementById('tipoC').checked)
{
metrosxbote = metrosTipoC;
precioxbote = boteTipoC;
tipopintura = nombreTipoC;
}
/* Si son 0 es que no se eligió tipo de pintura */
if (metrosxbote == 0)
{
alert("No ha escogido el tipo de pintura que quiere utilizar");
return;
}
/*Si estamos aquí calculamos... */
/* El área total */
var areatotal = (longitud * profundidad) + (2 * longitud * altura) + (2 + profundidad * altura);
/* Los botes de pintura */
var botespintura = Math.ceil(areatotal/metrosxbote);
/* El precio total */
var preciototal = precioxbote * botespintura;
/*Mostrar la información */
var texto = "La superficie total a pintar es de " + areatotal + " m<sup>2</sup>.<br/>";
texto = texto + "Necesitará " + botespintura + " botes de " + tipopintura + ".<br/>";
texto = texto + "El precio total de la pintura será " + preciototal.toFixed(2) + " €";
document.getElementById('celdaresultado').innerHTML = texto;
}
Me gustaría si es posible, que me facilitaras (si conoces) información sobre cursos gratuitos o subvencionados para complementar mi formación.
En forosdelweb vi un anuncio de la siguiente pagina " https://mejorando.la/cursos/ ", si tu, o alguien que conozca esta web pudiera darme su opinión, se lo agradecería.
Aunque ahora estoy realizando este curso de desarrollo de paginas web, me gustaría formarme también en programación multiplataforma, o desarrollo de aplicaciones para móviles.
Los dos temas me llaman mucho la atención, mi problema es que actualmente no cuento con muchos recursos económicos para realizar formaciones privadas, por ello busco cursos (serios) gratuitos o subvencionados. Cualquiera que pueda aportarme información al respecto se lo agradecería sinceramente.
Gracias de nuevo por comentar y ayudarme a entender un poco mejor la lógica de algunas propiedades js. Espero contar de nuevo con tu ayuda y la de mas miembros del foro en próximas consultas (que las habrá :D).
Un saludo cordial,
Martín.