• Viernes 8 de Noviembre de 2024, 14:26

Autor Tema:  Cumpleaños VB  (Leído 1236 veces)

Boxcarpilot

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Cumpleaños VB
« en: Domingo 27 de Septiembre de 2009, 17:56 »
0
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
  1. import java.io.*;
  2. import javax.swing.JOptionPane;
  3. import java.util.Date;
  4.  
  5. class Metodo
  6. {
  7.  
  8. int edad1;
  9. int edanmes;
  10. int meses;
  11.  
  12. //Iniciamos el uso de la Clase Dt
  13. Date tod=new Date();
  14.  
  15. //Metodo que obtiene la edad exacta en años
  16.     void asignarano(int dia1[],int mes1[],int fecha1[], int res[], int tama)
  17.     {
  18.        int c;
  19.        for(c=0;c<=(tama-1);c++)
  20.        {
  21.        
  22.        edad1=((tod.getYear()+1900)-(fecha1[c]))-1;
  23.        
  24.        if((tod.getMonth()+1)-mes1[c]<0)
  25.        {
  26.         edad1=edad1+0;
  27.         res[c]=edad1;
  28.        }
  29.        else if((tod.getMonth()+1)-mes1[c]>0)
  30.        {
  31.         edad1=edad1+1;
  32.         res[c]=edad1;
  33.        }
  34.        else if((tod.getMonth()+1)-mes1[c]==0)
  35.         {
  36.          if(tod.getDay()>=dia1[c])
  37.          edad1=edad1+1;
  38.          res[c]=edad1;
  39.         }
  40.        
  41.       }
  42.    
  43.      }
  44.      
  45.  //Metodo que calcula la edad en meses
  46.  void edames(int anos[],int mes[], int res2[], int tama)
  47.  {
  48.     int c1;
  49.     for(c1=0;c1<=(tama-1);c1++)
  50.     {
  51.      
  52.     meses=(tod.getMonth()+1)-mes[c1];
  53.    
  54.     if(meses>=0)
  55.     {
  56.         edanmes=(anos[c1]*12)+meses;
  57.     }
  58.     else if (meses<0)
  59.     {
  60.         edanmes=(anos[c1]*12)-(meses);
  61.     }
  62.    
  63.    
  64.     res2[c1]=edanmes;
  65.     }
  66.  }
  67.  
  68.  //Metodo que calcula la edad en dias
  69.  void edandi(int diias[], int respa[], int diasviv[], int tama)
  70.  {
  71.     int dia,dib,dic=0;
  72.    
  73.     int fi;
  74.     for(fi=0;fi<=(tama-1);fi++)
  75.     {
  76.     dia=respa[fi]*30;
  77.    
  78.     if(diias[fi]>=tod.getDay())
  79.     {
  80.         dib=diias[fi]-tod.getDay();
  81.         dic=dia-dib;
  82.     }
  83.     else if(diias[fi]<tod.getDay())
  84.     {
  85.         dib=diias[fi]-tod.getDay();
  86.         dic=dia+((dib)*-1);
  87.     }
  88.    
  89.     diasviv[fi]=dic;
  90.     }
  91.  }
  92.      
  93. }//Final de la clase
  94.  
  95.  
  96. class Os
  97. {
  98.     public static void main (String args[])
  99.     {
  100.         //creacion de los vectores
  101.         int a=1,tam=0;
  102.        
  103.         do{
  104.         try{
  105.      
  106.         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)"));
  107.         }      
  108.         catch(NumberFormatException ex)
  109.          {
  110.             JOptionPane.showMessageDialog(null, "Coloque valores numéricos y Positivos Superiores a cero","Error de Lectura",JOptionPane.ERROR_MESSAGE);
  111.             a=0;
  112.           }
  113.      
  114.         }while(a==0);
  115.         int año[]=new int[tam];
  116.         int mes[]=new int[tam];
  117.         int dia[]=new int[tam];
  118.         int vec[]=new int[tam];
  119.         int vec2[]=new int[tam];
  120.         int vec3[]=new int[tam];
  121.        
  122.         int x,xtra,Res,cuento;
  123.        
  124.         xtra=0;
  125.         cuento=0;
  126.        
  127.         //Lecturas y Carga de los 3 vectores con los datos del usuario, aplicando TC
  128.         for(x=0; x<=(tam-1); x++)
  129.         {
  130.         try
  131.         {
  132.        
  133.         xtra=xtra+1;
  134.        
  135.         dia[x]=Integer.parseInt(JOptionPane.showInputDialog(null,"Introduzca dia de nacimiento del #"+xtra+" :"));
  136.         mes[x]=Integer.parseInt(JOptionPane.showInputDialog(null,"Introduzca el mes de nacimiento del #"+xtra+" :"));
  137.         año[x]=Integer.parseInt(JOptionPane.showInputDialog(null,"Introduzca Año de Nacimiento del #"+xtra+" :"));
  138.  
  139.         }catch(NumberFormatException ex)
  140.            {
  141.              
  142.              JOptionPane.showMessageDialog(null, "Coloque valores numéricos","Error de Lectura",JOptionPane.ERROR_MESSAGE);
  143.              xtra=1;
  144.              a=0;
  145.            }
  146.               }
  147.        Metodo obj= new Metodo();
  148.        
  149.         //Llamando al que calcula los años exactos
  150.         obj.asignarano(dia,mes,año,vec,tam);
  151.        
  152.         //Imprime los años de las 10 personas
  153.         for(Res=0;Res<=(tam-1);Res++)
  154.         {
  155.             cuento=cuento+1;
  156.             JOptionPane.showMessageDialog(null,"La cantidad de años que tiene el # "+cuento+" es: "+vec[Res]);
  157.         }
  158.        
  159.         //Llamando al que hace el calculo de la edad en meses
  160.         obj.edames(vec,mes,vec2,tam);
  161.         cuento=0;
  162.         Res=0;
  163.         //Imprime la edad en meses de las 10 personas
  164.         for(Res=0;Res<=(tam-1);Res++)
  165.         {
  166.             cuento=cuento+1;
  167.            
  168.             JOptionPane.showMessageDialog(null,"La cantidad de meses que ha vivido el # "+cuento+" es: "+vec2[Res]);
  169.         }
  170.         Res=0;
  171.         cuento=0;
  172.         //LLamando al que calcula la edad en días
  173.         obj.edandi(dia,vec2,vec3,tam);
  174.         for(Res=0;Res<=(tam-1);Res++)
  175.         {
  176.             cuento=cuento+1;
  177.             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");
  178.         }
  179.                        
  180.     }              
  181. }
  182.  
  183.  


Como hace el vb para trabajar la clase date?? o manejar calendarios??

me sera facil pasarlo de java a vb (de POO a estructurada)?