index.html
Código:
funciones.js<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <title>Tarea 1 Junio</title> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript" src="./funciones.js"></script> </head> <body> </body> </html>
Código:
//constructor de objetos tipo Edificio que recibe parametros function edificio(calle, numero, codigo){ //propiedades del objeto Edificio this.calle = calle; this.numero = numero; this.codigo = codigo; this.plantas = new Array(); // para las plantas creamos un array de plantas //metodos del objeto Edificio this.modificarNumero = function (numero) // metodo para modificar numero { this.numero = numero; }; // metodo que agrega plantas al array plantas, y en cada planta agrega el numero de puertas this.agregarPlantasYPuertas = function(numPlantas, puertas) { if (this.plantas.length == 0) // si el array no contiene elementos { for (var i = 0; i < numPlantas; i++) // bucle para rellenar el array de plantas con un array por cada planta { this.plantas[i] = new Array(); for (var j = 0; j < puertas; j++) // bucle para añadir en cada array de plantas las puertas que hay, tb array { this.plantas[i].push(""); // con metodo push se añaden elementos al array de puertas } } } else // si esta creado el array se añaden plantas y puertas a las que ya habia { for (var i = 0; i < numPlantas; i++) { this.plantas[this.plantas.length] = new Array(); for (var j = 0; j < puertas; j++) { this.plantas[this.plantas.length-1].push(""); } } } }; this.modificarCalle = function (calle) { this.calle = calle; }; this.modificarCodigoPostal = function (codigo) { this.codigo = codigo; }; this.imprimeCalle = function () { return this.calle; }; this.imprimeNumero = function () { return this.numero; }; this.imprimeCodigoPostal = function () { return this.codigo; }; this.imprimePlantas = function() // metodo que imprime informacion de las plantas { document.write("<h4>Listado de propietarios del edificio de la calle " + this.imprimeCalle() + " con numero: " + this.imprimeNumero() + "</h4>"); for(var i = 0;i < this.plantas.length;i++) { for(var j = 0;j < this.plantas[i].length;j++) { document.write("<li>El propietario de la puerta "+(parseInt(edificioA.plantas[i].indexOf(edificioA.plantas[i][j]))+1)+" de la planta "+(parseInt(edificioA.plantas.indexOf(edificioA.plantas[i]))+1)+": "+edificioA.plantas[i][j]+"</li>"); } } }; this.agregarPropietario = function(nombre, planta, puerta) // metodo que agrega propietario a cada puerta de cada planta { this.plantas[planta][puerta] = nombre; document.write("<li>"+edificioA.plantas[planta][puerta] + " es ahora el propietario de la puerta " + (parseInt(edificioA.plantas[planta].indexOf(edificioA.plantas[planta][puerta]))+1) + " de la planta " + (parseInt(edificioA.plantas.indexOf(edificioA.plantas[planta]))+1) + ".</li>"); }; document.write("<li>Construido nuevo edificio en calle: "+calle+", nº: "+numero+", CP: "+codigo+".</ul>"); } document.write("Instanciamos 3 objetos edificioA, edificioB y edificioC con estos datos:</br></br>"); var edificioA = new edificio("Garcia Prieto",58,15706); var edificioB = new edificio("Camino Caneiro",29,32004); var edificioC = new edificio("San Clemente","s/n",15705); document.write("<br/><br/>"); document.write("<li>El código postal del edificio A es: "+edificioA.imprimeCodigoPostal()+".</li>"); document.write("<li>La calle del edificio C es: "+edificioC.imprimeCalle()+".</li>"); document.write("<li>El edificio B está situado en la calle "+edificioB.imprimeCalle()+" número "+edificioB.imprimeNumero()+".</li>"); document.write("<br/>"); edificioA.agregarPlantasYPuertas(2, 3); document.write("Agregamos " + edificioA.plantas.length + " plantas y " + edificioA.plantas[0].length + " puertas por planta al edificio A...<br/>"); document.write("<br/>Agregamos 4 propietarios al edificio A...<br/><br/>"); edificioA.agregarPropietario("Jose Antonio Lopez.", 0, 0); edificioA.agregarPropietario("Luisa Martinez.", 0, 1); edificioA.agregarPropietario("Marta Castellón.", 0, 2); edificioA.agregarPropietario("Antonio Pereira.", 1, 1); edificioA.imprimePlantas(); document.write("<br/>Agregamos 1 planta más al edificio A...<br/><br/>"); document.write("Agregamos 1 propietario más al edificio A planta 3, puerta 2...<br/>"); edificioA.agregarPlantasYPuertas(1, 3); document.write("</br>"); edificioA.agregarPropietario(" Pedro Meijide", 2, 1); edificioA.imprimePlantas();