CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Cumpleaños VB
(1/1)
Boxcarpilot:
Buenas hago otro topic..
hace un tiempo hize un programa orientado a obj en java, q le ponias tu fecha de nac. y te dbaa tu edad en años, meses y dias...
ahora debo hacerlo en vb 2005; como podria hacerlo (modo consola y NO orientado a obj)
--- Código: Java ---import java.io.*;import javax.swing.JOptionPane;import java.util.Date; class Metodo { int edad1;int edanmes;int meses; //Iniciamos el uso de la Clase DtDate tod=new Date(); //Metodo que obtiene la edad exacta en años void asignarano(int dia1[],int mes1[],int fecha1[], int res[], int tama) { int c; for(c=0;c<=(tama-1);c++) { edad1=((tod.getYear()+1900)-(fecha1[c]))-1; if((tod.getMonth()+1)-mes1[c]<0) { edad1=edad1+0; res[c]=edad1; } else if((tod.getMonth()+1)-mes1[c]>0) { edad1=edad1+1; res[c]=edad1; } else if((tod.getMonth()+1)-mes1[c]==0) { if(tod.getDay()>=dia1[c]) edad1=edad1+1; res[c]=edad1; } } } //Metodo que calcula la edad en meses void edames(int anos[],int mes[], int res2[], int tama) { int c1; for(c1=0;c1<=(tama-1);c1++) { meses=(tod.getMonth()+1)-mes[c1]; if(meses>=0) { edanmes=(anos[c1]*12)+meses; } else if (meses<0) { edanmes=(anos[c1]*12)-(meses); } res2[c1]=edanmes; } } //Metodo que calcula la edad en dias void edandi(int diias[], int respa[], int diasviv[], int tama) { int dia,dib,dic=0; int fi; for(fi=0;fi<=(tama-1);fi++) { dia=respa[fi]*30; if(diias[fi]>=tod.getDay()) { dib=diias[fi]-tod.getDay(); dic=dia-dib; } else if(diias[fi]<tod.getDay()) { dib=diias[fi]-tod.getDay(); dic=dia+((dib)*-1); } diasviv[fi]=dic; } } }//Final de la clase class Os{ public static void main (String args[]) { //creacion de los vectores int a=1,tam=0; do{ try{ tam=Integer.parseInt(JOptionPane.showInputDialog(null,"Indique el Número de personas,nque desean saber su edad en dias meses y años :ntttNO acepta el cero (0)")); } catch(NumberFormatException ex) { JOptionPane.showMessageDialog(null, "Coloque valores numéricos y Positivos Superiores a cero","Error de Lectura",JOptionPane.ERROR_MESSAGE); a=0; } }while(a==0); int año[]=new int[tam]; int mes[]=new int[tam]; int dia[]=new int[tam]; int vec[]=new int[tam]; int vec2[]=new int[tam]; int vec3[]=new int[tam]; int x,xtra,Res,cuento; xtra=0; cuento=0; //Lecturas y Carga de los 3 vectores con los datos del usuario, aplicando TC for(x=0; x<=(tam-1); x++) { try { xtra=xtra+1; dia[x]=Integer.parseInt(JOptionPane.showInputDialog(null,"Introduzca dia de nacimiento del #"+xtra+" :")); mes[x]=Integer.parseInt(JOptionPane.showInputDialog(null,"Introduzca el mes de nacimiento del #"+xtra+" :")); año[x]=Integer.parseInt(JOptionPane.showInputDialog(null,"Introduzca Año de Nacimiento del #"+xtra+" :")); }catch(NumberFormatException ex) { JOptionPane.showMessageDialog(null, "Coloque valores numéricos","Error de Lectura",JOptionPane.ERROR_MESSAGE); xtra=1; a=0; } } Metodo obj= new Metodo(); //Llamando al que calcula los años exactos obj.asignarano(dia,mes,año,vec,tam); //Imprime los años de las 10 personas for(Res=0;Res<=(tam-1);Res++) { cuento=cuento+1; JOptionPane.showMessageDialog(null,"La cantidad de años que tiene el # "+cuento+" es: "+vec[Res]); } //Llamando al que hace el calculo de la edad en meses obj.edames(vec,mes,vec2,tam); cuento=0; Res=0; //Imprime la edad en meses de las 10 personas for(Res=0;Res<=(tam-1);Res++) { cuento=cuento+1; JOptionPane.showMessageDialog(null,"La cantidad de meses que ha vivido el # "+cuento+" es: "+vec2[Res]); } Res=0; cuento=0; //LLamando al que calcula la edad en días obj.edandi(dia,vec2,vec3,tam); for(Res=0;Res<=(tam-1);Res++) { cuento=cuento+1; JOptionPane.showMessageDialog(null,"La cantidad de días que ha vivido el # "+cuento+" es de aprox.: "+vec3[Res]+" días."+"tnnNO se tomaron en cuenta los dias de más en los años biciestos"); } } }
Como hace el vb para trabajar la clase date?? o manejar calendarios??
me sera facil pasarlo de java a vb (de POO a estructurada)?
Navegación
Ir a la versión completa