Commit 0a8f30f6 by roshka

1.0

parents
<!DOCTYPE html>
<html lang="es">
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<script src="Ejercicio.js"></script>
</body>
</html>
\ No newline at end of file
let meses = ['01','02','03','04','05','06','07', '08','09',
'10','11','12'];
let fechas = ["22/01/2018","30/02/2018","02/01/2018","20/12/2018","19/03/2018","18/03/2018","30/04/2018","04/04/2018","05/05/2017",
"20/09/2018"];
let tipos_facturas = ['contado','credito'];
let correos = ['outlook','gmail','yahoo'];
let estado_factura = ['activo','anulado'];
let estados_cliente = ['activo','inactivo'];
let direcciones = ['Melo de Portugal','Cacique Lambare','Manduvira','Chile','14 de mayo',
'Juan de Zalazar','Teniente colman','Gobernador Irala','Eusebio Ayala','Mariscal Lopez',
"Juan de Garai","Avenida 5ta",'Colon','España','Antequera','Peru','Perirossi','Rca Argentina'];
let nombres = ['Carlos','Mario','Luis','Hugo','Monica','Carolina',
'Pedro','Pablo','Cristina','Melisa','Leonardo','Miguel','Lucia'];
let opcion_cobrado = [true,false];
let facturas = [];
let clientes = [];
let detallesFactura = [];
//Vamos a cargar los clientes
for(let i=0;i<100;i++){
//Creamos los datos del cliente
let cliente = new Object();
cliente.id_cliente = i+1;
cliente.nombre = nombres[parseInt(13*Math.random())];
cliente.ruc = parseInt((1+3*Math.random())) + "" + parseInt((9*Math.random())) + "" + parseInt((9*Math.random())) + "" + parseInt((9*Math.random())) + "" + parseInt((9*Math.random())) + "" + parseInt((9*Math.random())) + "" + parseInt((9*Math.random())) + "-" + parseInt((9*Math.random()));
cliente.email = cliente.nombre + "@"+correos[parseInt(3*Math.random())] + ".com";
cliente.direccion = direcciones[parseInt(direcciones.length*Math.random())] + "nro " + parseInt(2000*Math.random());
cliente.estado = estados_cliente[parseInt(2*Math.random())];
cliente.aTexto = function (){
return "Id cliente: " + cliente.id_cliente + "\n" +
"Nombre: " + cliente.nombre + "\n" +
"RUC: " + cliente.ruc + "\n" +
"Email: " + cliente.email + "\n" +
"Direccion: " + cliente.direccion + "\n" +
"Estado: " + cliente.estado + "\n"
};
clientes.push(cliente);
};
//vamos a cargar las facturas
for(let i = 0;i<100;i++){
//Cargamos los datos de la factura del cliente
let factura = new Object();
factura.id_factura = i + 1;
factura.fecha = fechas[parseInt(fechas.length*Math.random())];
factura.cliente = i+1;
factura.monto = parseInt(5000000*Math.random());
factura.tipo_factura = tipos_facturas[parseInt(2*Math.random())];
factura.cobrado = opcion_cobrado[parseInt(2*Math.random())]
factura.estado = estado_factura[parseInt(2*Math.random())];
factura.aTexto = function (){
return "Factura: "+factura.id_factura + "\n"+
"Fecha de factura: "+factura.fecha + "\n" +
"Cliente: " + factura.cliente + "\n" +
"Monto: " + factura.monto + "\n" +
"Tipo de factura: " + factura.tipo_factura + "\n" +
"Cobrado: " + factura.cobrado + "\n" +
"Estado: " + factura.estado + "\n"
};
//Cargamos la factura en el array
facturas.push(factura);
}
//vamos a cargar los detalles de facturas
for(let i = 0;i<100;i++){
let detalle_factura = new Object();
detalle_factura.id_detalle = i+1;
detalle_factura.id_factura = i+1;
detalle_factura.cod_producto = parseInt(500000000*Math.random());
detalle_factura.cantidad = parseInt(1 + 20*Math.random());
detalle_factura.precio = parseInt(500000*Math.random());
detalle_factura.total_linea = parseInt(1 + 20*Math.random());
detalle_factura.aTexto = function (){
return "Id detalle: " + detalle_factura.id_detalle + "\n" +
"Id Factura: " + detalle_factura.id_factura + "\n" +
"Codigo producto; " + detalle_factura.cod_producto + "\n" +
"Cantidad: " + detalle_factura.cantidad + "\n" +
"Precio: " + detalle_factura.precio + "\n" +
"Total Linea: " + detalle_factura.total_linea + "\n"
};
detallesFactura.push(detalle_factura);
}
//Mostrar todas las facturas con estado cobrado
console.log("Los cobrados son: ");
for(let i = 0;i<facturas.length;i++){
if(facturas[i].cobrado){
console.log(facturas[i].aTexto());
}
}
//Calcular el total de las facturas cobradas
let total = 0;
for (let i = 0;i<facturas.length;i++){
if(facturas[i].cobrado){
total = total + facturas[i].monto;
}
}
console.log("El total del mondo facturas cobradas son: " + total);
//Dado una fecha determinada obtener todas las facturas que correspondan a esa fecha
let esEncontrado = false;
while(!esEncontrado){
let fecha = prompt("Ingrese la fecha de la factura a buscar (formato dd/mm/aaaa)");
console.log("Las fechas son:")
for(let i = 0;i<facturas.length;i++){
if(fecha == facturas[i].fecha){
console.log (facturas[i].aTexto());
esEncontrado = true;
}
}
if(esEncontrado == false){
alert("No existe al menos una factura que contenga la fecha");
}
}
//Obtener todas las facturas de tipo contado o credito segun seleccione el usuario
let opcion = prompt("Ingrese el numero de una de la opciones: \n" +
"1-Contado \n" +
"2-Credito");
console.log("Las facturas son (de acuerdo a tipo de factura): ");
if(opcion == 1){
for(let i = 0;i<facturas.length;i++){
if(facturas[i].tipo_factura == "contado"){
console.log(facturas[i].aTexto());
}
}
}else if(opcion == 2){
for(let i = 0;i<facturas.length;i++){
if(facturas[i].tipo_factura == "credito"){
console.log(facturas[i].aTexto());
}
}
}
//Dado un codigo de cliente obtener todas las facturas que corresponden a ese cliente
let encontrado = false;
while(!encontrado){
let seleccion = prompt("Ingrese la id del cliente");
console.log("Las facturas por id cliente son: ");
for(let i = 0;i<facturas.length;i++){
if(seleccion == facturas[i].cliente){
console.log(facturas[i].aTexto());
encontrado = true;
}
}
if(!encontrado){
alert("No existe al menos una factura cargada con el cliente");
}
}
//Mostrar la cabecera y el detalle de una factura en un objeto nuevo
let correcto = false;
while(!correcto){
let seleccion = prompt("Ingrese el numero de factura");
if(seleccion >= 0 && seleccion<facturas.length){
console.log("La factura: ");
console.log(facturas[seleccion].aTexto());
console.log("Sus detalles: ");
encontrado = false;
for(let i = 0;i<detallesFactura.length;i++){
if(facturas[seleccion].id_factura == detallesFactura[i].id_factura){
console.log(detallesFactura[i].aTexto());
encontrado = true;
}
}
if(!encontrado){
alert("No se cargo al menos un detalle de la factura");
}else{
correcto = true;
}
}
}
## Indicaciones
- Los resultados del ejercicio están en un único archivo .js
- Los resultados se van ejecutando se acuerdo al orden del ejercicio correspondiente
- Las entradas se realizan en un prompt, y la salida aparecen en la consola.
- Para ejecutar el programa, abrir el archivo Ejercicio.html
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment