Translate

sábado, 5 de octubre de 2013

Tablas de multiplicar en java

Un ejercicio que me encontre almacenado


import java.util.Scanner;
public class TablaMultiplicar{
    public static void main(String[]arg){
     /*Confeccionar una clase que permita ingresar valores enteros por teclado y nos muestre la 
     * tabla de multiplicar de dicho valor. Finalizar el programa al ingresar el -1.*/
 TablaMultiplicar ta=new TablaMultiplicar();   
    ta.GetTabla();
   
    
    
    }
    private void GetTabla(){
        Scanner sca=new Scanner(System.in);
         int valor;
        do{
            System.out.println("Ingrese valor: ");
         valor=sca.nextInt();
            if(valor!=-1){
                Mecanismo(valor);
            }
        }while(valor!=-1);
         
    }
    
    private void Mecanismo(int v){
        for(int b=v;b<=v*10;b=b+v){
            System.out.print(b+"-");
        }
    }
    
}

viernes, 4 de octubre de 2013

Cajero automatico en C

Este es un ejercicio propuesto en clase sobre el funcionamiento de un cajero con n clientes 

Actualizado!!!

Para visualizar mejor este codigo clik aqui.

  1. /*EJERCIO PARCIAL(CAJERO AUTOMATICO)
  2. Se debe partir de la existencia de una base de datos de clientes identificados por un login una
  3. contraseña y un sueldo en pesos, por lo tato se deben almacer los datos de al menos 100
  4. clientes(todos los datos son numericos y enteros ).
  5.  
  6. 1.Se debe implementar una funcion que valide login y contraseña. La funcion recibe la base de
  7. datos, el tamaño,el login y la contraseña digitados por el usuario, los verifica contra la base de
  8. datos para luego retornar 1 que indica la validacion exitosa de datos, o un 0 que indica el ingreso
  9. delogin o contraseña incorrectos.
  10.  
  11. 2. Se debe implementar una funcion que permita modificar la contraseña.la funcion recibe la base
  12. de datos, el tamaño, y el login, pide la contraseña nueva realiza la modificacio en la base de
  13. datos.
  14.  
  15. 3.Se debe implementar una funcion que permita realizar una operacion de retiro o consignacion
  16. en la cuenta. La funcion recibe la base de datos, el tamaño el login, el tipo de operacion a realizar
  17. y el valor de la transaccion, realizando la modificacion correspondiente en la base de
  18. datos(sumarle o restarle al sueldo) y retornando para el caso del retiro o la consignacion un 1 si
  19. fue posible de realizar, o para el caso del retiro un 0 si no fue posible.
  20.  
  21. Es necesario contruir el programaprincipal que
  22. -Permita ingresar los datos iniciales,segun la cantidas de clientes indicada por el usario
  23. funcion que recibe la base de datos,el tamaño y la llena)
  24. -Luego, permita el ingreso de un cliente(login y contraseña), validando los datos (llamando a
  25. funcion).
  26.  
  27. -Luego en caso de que los datos sean validados, muestre un menu con las opciones de
  28. *cambio de contraseña,consignacion,retiro,salir)
  29. -luego segun la opcion escogida por el usuario permita capturar los datos, ejecutar las funciones y
  30. presentar los resultados solicitados*/


#include <stdio.h>
#include <stdlib.h>


void IngresarDatos(int t,int m[100][3])
{ int f;

    for(f=0;f<t;f++){

            printf("Ingrese el id para el cliente: %d\n",f+1);
            scanf("%d",&m[f][0]);

            printf("Ingrese la password para el cliente: %d\n",f+1);
            scanf("%d",&m[f][1]);

            printf("Ingrese sueldo para el cliente: %d\n",f+1);
            scanf("%d",&m[f][2]);

    }

}
///_______________________________________________________________________________________________________________________

int ValidarCliente(int t,int idCliente,int password,int m[100][3]){
int f,c,estado,cont=0;

for(f=0;f<t;f++){
    for(c=0;c<3;c++){
        if(m[f][c]==idCliente && m[f][1]== password){
            cont=cont+1;
        }
    }
}
if(cont!=0){
    estado=1;
}
return estado;
}

void ModificarPassword(int t,int idCliente,int m[100][3]){
int f,c,newpass;
for(f=0;f<t;f++){
    for(c=0;c<3;c++){
        if(m[f][c]==idCliente){
            printf("Ingrese nueva contraseña:\n");
            scanf("%d",&newpass);
            m[f][1]=newpass;
            printf("La contraseña ha sido cambiada!!!\n ");
        }
    }
}

}

int RetiroConsignacion(int t,int idCliente,int operacion,int valor,int m[100][3]){
    int estado,f,c,bande;

    switch(operacion){

    case 1:

          for(f=0;f<t;f++){
            for(c=0;c<3;c++){
                if(m[f][c]==idCliente && m[f][2]>valor){
                    m[f][2]=m[f][2]-valor;
                    bande=1;
                }
                }
          }

          if(bande==1){
            estado=1;
          }


        break;


    case 2:
        for(f=0;f<t;f++){
            for(c=0;c<3;c++){
                if(m[f][c]==idCliente ){
                    m[f][2]=m[f][2]+valor;
                    bande=1;
                }
            }
          }
          if(bande==1){
            estado=1;
          }
        break;

    }

    return estado;
}
    ///____________________________________________________________________________________________________________________


int main(){

    int matriz[100][3],numC,idC,password,ope,opc,valor;


    printf("Ingrese el numero de clientes a procesar:\n");
    scanf("%d",&numC);
    IngresarDatos(numC,matriz);
    printf("\n");



    printf("Iniciar sesion\n");
    printf(" ");
    printf("Ingrese id cliente:\n");
    scanf("%d",&idC);
    printf(" ");
    printf("Ingrese id password:\n");
    scanf("%d",&password);

    int login=ValidarCliente(numC,idC,password,matriz);

    printf("%d\n",login);
    if(login==1){
        do{
           printf("1.Cambiar contraseña.\n");
           printf("2.Consignar/Retirar.\n");
           printf("3.Salir.\n");
           scanf("%d",&opc);


           switch(opc){
           case 1:
               ModificarPassword(numC,idC,matriz);

               printf("\n");
            break;

           case 2:
               printf("Que desea hacer?\n");
               printf(" \n");
               printf("1.Para retirar.\n");
               printf("2.Para consignar.\n");
               scanf("%d",&ope);
               printf("ingrese el monto:\n");
               scanf("%d",&valor);
               int estadoRC=RetiroConsignacion(numC,idC,ope,valor,matriz);
               if(estadoRC==1){
                printf("La transaccion ha sido realizada exitosamente\n");


               }///Fin si
               if(estadoRC!=1){
                printf("Error,el monto supera el saldo actual!!!!\n");

               }///Fin si
            break;

           case 3:
               printf("HASTA LUEGO!!!");
            break;
           }///fin segun

        }while(opc!=3);
    }else {printf("id o contraseña incorrectos\n");}
    return 0;
}

martes, 1 de octubre de 2013

Manejo de datos personas en C

Este es un ejercicio de propuesto en clase
Solo tengo un error que no me  devuelve los porcentajes de hombres y mujeres desde la función, si alguien sabe el error me lo hace saber.... 


#include <stdio.h>
#include <stdlib.h>

///Funcion opcion 1___________________________________________________________________________________________________________
void IngresarDatosEstudiantes(int t,int m[150][4]){
int f,c;

printf("Ingrese los datos del estudiante en este orden seguido de la tecla ENTER: \n");
printf("Sexo: Masculino-->0.\n      Femenino--->1.\n\nEstado Civil:Soltero--->0.\n             Casado--->1.\n             Viudo--->2.\n\nTrabaja Si--->0.\n        NO--->1.\n\nSUELDO(sin decimales).\n\n");
for(f=1;f<=t;f++){///Filas
    for(c=1;c<=4;c++){///Columnas

           if(m[f][c]==m[f][1]){
            printf("Ingrese sexo del alumno #%d: \n",f);
            scanf("%d",&m[f][c]);
           }

           if(m[f][c]==m[f][2]){
            printf("Ingrese estado civil del alumno #%d: \n",f);
            scanf("%d",&m[f][c]);
           }

           if(m[f][c]==m[f][3]){
            printf("Ingrese si trabaja el alumno #%d: \n",f);
            scanf("%d",&m[f][c]);
            }///Fin si


            if(m[f][c]==m[f][4] ){
            printf("Ingrese el salario del alumno #%d (sindecimales): \n",f);
            scanf("%d",&m[f][c]);
           }





                    }///Fin columnas
                }///Fin filas
            }///Fin Funcion


///Funcion que devuelve un float opcion 2______________________________________________________________________________________
  float CalcularPor1(int t,int m[150][4]){
  int f,cont=0;
  float p,porce;
  for(f=1;f<=t;f++){

        if(m[f][1]==0){
            cont=cont+1;
        }
  }
  p=cont/t;
  porce=p*100;


  return porce;
  }

///__________________________________________________________________________________________________________________________


float CalcularPor2(int t,int m[150][4]){
  int f,cont=0;
  float p;

  for(f=1;f<=t;f++){

        if(m[f][1]==1){
            cont=cont+1;
        }

  }

  p=(cont/t)*100;


  return p;
  }
///__________________________________________________________________________________________________________________________

 void CantidadHMEC( int t,int e,int m[t][4]){///Calcular cantidad de hombres y mujeres para un estado civil ingresado
 int f,contM=0,contF=0;

 for(f=1;f<=t;f++){
    if(m[f][1]==0 && m[f][2]==e){
        contM=contM+1;
    }else if(m[f][1]==1 && m[f][2]==e){///Abre else
     contF=contF+1;
    }///Fin sino.
 }///Fin for

 printf("La cantidad de hombres para el estado civil ingresado es de: %d \n",contM);
 printf("La cantidad de mujeres para el estado civil ingresado es de: %d \n",contF);

 }///Fin funcion

///__________________________________________________________________________________________________________________________

void SueldoMujeres(int salario,int t,int m[t][4]){///Calcula las mujeres que devengan un sueldo igual o mayor al ingresado.
int f,contF=0;
for(f=1;f<=t;f++){
    if(m[f][1]==1 && m[f][4]>=salario){
        contF=contF+1;
       }///Fin si
      }///Fin for

    if(contF==0){
        printf("No hay mujeres que devengan un sueldo igual o mayor a %d\n",salario);
    }else if(contF!=0){
        printf("el numero de mujeres que trabajan y ganan un salario igual o mayor a %d es de %d\n",salario,contF);
    }///Fin sino



    }///Fin Funcion

///___________________________________________________________________________________________________________________________

void MostrarMatriz(int t,int m[t][4]){
int f,c;

printf(" ");
for(f=1;f<=t;f++){
    for(c=1;c<=4;c++){
        printf("matriz[%d][%d] %d ",f,c,m[f][c]);
    }
    printf("\n");
}
printf(" ");


}


///***************************************************************************************************************************
///_____________________________________________________________________________________________________________________________
int main()
{


     int matriz[150][4],opc=0,numE=0,eCivil=0,sueldoU=0;
     float  p1;
     //int p2=0;



     do{
        printf("\t\t***MANEJO DE LOS DATOS PERSONALESDE LOS ESTUDIANTES DEL PROGRAMA \t\tDE TECNOLOGIA EN SISTEMAS DE LA  UCP.***\n");
        printf("1.Ingrese el numero de estudiantes\n");
        printf("2.Calcular el porcentaje de hombres y mujeres.\n");
        printf("3.Calcular cantidad de hombres y mujeres para un estado civil.\n");
        printf("4.Calcular y mostrar la distribución de mujeres solteras que trabajan\n");
        printf("5.Salir.\n");
        scanf("%d",&opc);

        switch(opc){

    case 1:
        printf("Cuantos estudiantes va a ingresar?\n");
        scanf("%d",&numE);

        IngresarDatosEstudiantes(numE,matriz);
        printf("\n");


        break;

    case 2:

          MostrarMatriz(numE,matriz);
          printf("\n");
          p1=CalcularPor1(numE,matriz);
          printf("El procentage de hombres es de: %.2f",p1);
          printf("\n");
          int p2=CalcularPor2(numE,matriz);
          printf("El procentage de mujeres es de: %d",p2);
          printf("\n");

        break;

    case 3:
        printf("Ingrese estado civil:\nRecuerde Soltero=0,Casado=1,Viudo=2.\n");
        scanf("%d",&eCivil);

        CantidadHMEC(numE,eCivil,matriz);
        printf("\n");
        break;

    case 4:
        printf("Ingrese sueldo:\n");
        scanf("%d",&sueldoU);
        SueldoMujeres(sueldoU,numE,matriz);
        printf("\n");
        MostrarMatriz(numE,matriz);
        printf("\n");
        break;

    case 5:
       printf("HASTA LUEGO!!!!");
       printf("\n");

        break;


        }///Fin segun

     }while(opc!=5);

    return 0;
}

sábado, 28 de septiembre de 2013

Como ordenar vectores paralelos en java utilizando funciones en eclipse

Esta ves te traigo un ejemplo de como ordenar vectores paralelos (vectores con el mismo numero de componentes)


import java.util.Scanner;
public class MetodosOrdenamientoVectoresParalelos {
    private Scanner teclado;
private String[] paises;
    private int[] habitantes;
    
    public void cargar() {
        teclado=new Scanner(System.in);
        paises=new String[5];
        habitantes=new int[5];
        System.out.println("Carga de paises y habitantes");
        for(int f=0;f<paises.length;f++) {
            System.out.print("Ingese el nombre del pais:");
            paises[f]=teclado.next();
            System.out.print("Ingrese la cantidad de habitantes:");
            habitantes[f]=teclado.nextInt();
        }
    }        
    
    public void ordenarPorNombres() {
        for(int k=0;k<paises.length;k++) {//.length nos devuelve la cantidad de componentes del arreglo
            for(int f=0;f<paises.length-1-k;f++) {
                if (paises[f].compareTo(paises[f+1])>0) {
                    String auxpais;
                    auxpais=paises[f];
                    paises[f]=paises[f+1];
                    paises[f+1]=auxpais;
                    int auxhabitante;
                    auxhabitante=habitantes[f];
                    habitantes[f]=habitantes[f+1];
                    habitantes[f+1]=auxhabitante;
                }
            }
        }
    }
        
    ///Ordena de mayor a menor
    public void ordenarPorHabitantes() {//3,3
        for(int k=0;k<paises.length;k++) {//0.
            for(int f=0;f<paises.length-1-k;f++) {//0,1.2
                if (habitantes[f]<habitantes[f+1]) {
                    String auxpais;
                    auxpais=paises[f];
                    paises[f]=paises[f+1];
                    paises[f+1]=auxpais;
                    ///aprovechamos este y ordenamos tambien el numero de habitantes
                    int auxhabitante;
                    auxhabitante=habitantes[f];
                    habitantes[f]=habitantes[f+1];
                    habitantes[f+1]=auxhabitante;
                }
            }
        }
    }
    
    ///Metodo utilizado para mostrar los arreglos
    public void imprimir() {
        for(int f=0;f<paises.length;f++) {
            System.out.println(paises[f] + " - " + habitantes[f]);
        }
    }        

    ///metodo principal
    public static void main(String[] ar) {
        MetodosOrdenamientoVectoresParalelos pv=new  MetodosOrdenamientoVectoresParalelos();
        pv.cargar();///Llamamos primero a este metodo
        pv.ordenarPorNombres();///luego este
     System.out.println("Ordenados alfabéticamente");//Mostramos este mensaje
        pv.imprimir();//....
        pv.ordenarPorHabitantes();
     System.out.println("Ordenados por cantidad de habitnates");        
        pv.imprimir();
    }  
}



Arreglo Bidimensional

Manejo de matrices en java con eclipse


import javax.swing.JOptionPane;

public class ArregloBidimensional {
 
    /*lo que se pretende mostrar
 
    *   Argentina   Buenos aires      cordoba       La plata
    *   Colombia    Bogota            Cali          Medellin
    *   Chile       Concepción        Santiago      Valparaiso
    *   Mexico      Ciudad Juárez     León          Monterrey 
    */
 
public static void main(String args []) {
///Creamos el arreglo bidimensional
 
    String [][] arrMulti ={  {"Agentina","Buenos Aires", "Cordoba", "La Plata"},
                             {"Colombia","Bogota", "Cali", "Medellin"},
                             {"Chile","Concepción", "Santiago", "Valparaiso"},
                             {"Mexico","Ciudad Juárez", "León", "Monterrey"},                             
                          };
 
    String ax="";//Declaramos una variable tipo string 
 
    ///Recorremos el vector
    for(int i=0; i<4; i++){
        for(int j=0; j<4; j++){
           ax+= arrMulti[i][j]+"        ";
        }
        ax+="\n";
    }
 
    JOptionPane.showMessageDialog(null, ax);
 
}
}

Este ejercicio lo encontré en un blog muy interese que contiene mas ejercicios por el estilo se los recomiendo

viernes, 27 de septiembre de 2013

Manejo de setText y getText en java con eclipse

Manejo  de setText y getText en java con eclipse


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

/**
 * @author Alexis
 *
 */
public class ManejoGetAndSetText extends JFrame implements ActionListener {

/**
* @param args
*/
JLabel nombre,edad,datos;
JButton mostrar,borrar;
JTextField jtnombre,jtedad,jtdatos;

public ManejoGetAndSetText(){
super("Manejo setText,getText");
nombre=new JLabel("Nombre: ");
edad=new JLabel("Edad:");
datos=new JLabel("Datos:");
jtnombre=new JTextField(80);
jtedad=new JTextField(80);
jtdatos=new JTextField(80);
mostrar=new JButton("Mostrar datos");
borrar=new JButton("Borrar Datos");
JPanel panel=new JPanel(null);
nombre.setBounds(10, 10, 70, 20);
edad.setBounds(10, 50, 50, 20);
datos.setBounds(5, 90, 100, 20);
jtnombre.setBounds(70, 10, 70, 20);
jtedad.setBounds(70, 50, 50, 20);
jtdatos.setBounds(70, 90, 150, 20);
mostrar.setBounds(200, 10, 120, 40);
borrar.setBounds(230, 90, 120, 40);
panel.add(nombre);
panel.add(edad);
panel.add(datos);
panel.add(jtnombre);
panel.add(jtedad);
panel.add(jtdatos);
panel.add(mostrar);
panel.add(borrar);
setContentPane(panel);
///Agregamos el escuchador al boton
mostrar.addActionListener(this);
borrar.addActionListener(this);
setVisible(true);
}
public static void main(String[] args) {
ManejoGetAndSetText m=new ManejoGetAndSetText();
}
public void actionPerformed(ActionEvent e){
String snombre="", sedad="",sdatos="";
if(e.getSource()==mostrar){
snombre=jtnombre.getText();
sedad=jtedad.getText();
 
///Agregamos el texto al JTdatos
jtdatos.setText(snombre+sedad);
}
}

}



Este es un ejercicio que encontré en youtube, mas adelente subire la info de la persona  

Imprimir la ultima fila de una matriz en java

import java.util.Scanner;
public class MatrizImprimirUltimaFila {
 
 
     private Scanner teclado;
     private int[][] mat;
   
     public void cargar() {
         teclado=new Scanner(System.in);
         System.out.print("Cuantas fila tiene la matriz:");
         int filas=teclado.nextInt();
         System.out.print("Cuantas columnas tiene la matriz:");
         int columnas=teclado.nextInt();
         mat=new int[filas][columnas];
         for(int f=0;f<mat.length;f++) {
             for(int c=0;c<mat[f].length;c++) {
                 System.out.print("Ingrese componente:");
                 mat[f][c]=teclado.nextInt();
             }
         }
     }
   
     public void imprimir() {
         for(int f=0;f<mat.length;f++) {
             for(int c=0;c<mat[f].length;c++) {
                 System.out.print(mat[f][c]+" ");
             }
             System.out.println();
         }
     }
   
     public void imprimirUltimaFila() {
      System.out.println("Ultima fila");
         for(int c=0;c<mat[mat.length-1].length;c++) {
              System.out.print(mat[mat.length-1][c]+" ");
         }
     }
   
     public static void main(String[] ar) {
         MatrizImprimirUltimaFila ma=new   MatrizImprimirUltimaFila();
         ma.cargar();
         ma.imprimir();
         ma.imprimirUltimaFila();
     }  
 }

jueves, 19 de septiembre de 2013

Ordenar una matriz en C

Metodo para ordenar una matriz


#include <stdio.h>


int main()
{
     int f=3,c=4,mayor=0;
     int matriz[f][c],i,j,x,y;
     //lleno la matriz
    for(i=0; i<f; i++)
    {
        for( j=0; j<c; j++)
        {
             printf("introducir datos:");
             scanf("%d",&matriz[i][j]);
        }
    }
    //imprimo la matriz como se lleno
     printf("\nLos Datos De La Matriz Fuero Introducidos Asi\n");
    for(i=0; i<f; i++)
    {
        for( j=0; j<c; j++)
        {
            printf("matriz[%d][%d] %d \n",i,j,matriz[i][j]);
        }
        printf(" ");
    }

     //ordeno la matriz de mayor a menor
     for( i=0; i<f; i++)
     {
        for( j=0; j<c; j++)
        {
            for( x=0; x<f;x++)
            {
                for( y=0; y<c; y++)
                {
                    if(matriz[i][j]>matriz[x][y])
                    {
                        mayor=matriz[i][j];
                        matriz[i][j]=matriz[x][y];
                        matriz[x][y]=mayor;
                    }

                }
            }
         }
    }

    //imprimo la matriz como ordenada
    printf("\nLos Datos De La Matriz Fueron Ordenados de Mayor a Menor\n");
    for( i=0; i<f; i++)
    {
        for( j=0; j<c; j++)
        {
            printf("matriz[%d][%d] %d \n",i,j,matriz[i][j]);
        }
        printf(" ");
    }

    return 0;
}

Manejo de vectores en C

Ordenar el vector (mayor a menor y viceversa), hallar el mayor y menor, buscar un valor indicar si se encuentra en el vector,buscar valor y cambiarlo.


 #include <stdio.h>
 #include <stdlib.h>

///Funcion mostrar
void mostrar( int ta,int ve[ta]){
    int i;
for(i=0;i<ta;i++){
    printf("vector[%d] %d\n",i,ve[i]);
}
}
 int main(){
 ///Llenar un vector de n posiciones, ordenar de menor a mayor, y viceversa,
 ///obtener el numero mayor y menor, buscar un numero, pedir un numero y cambiarlo por el que se desee.
 int num=0;
 int pos=0;
 int b=0;
 int t=0;
 int bande=0;
 int i=0;
 int j=0;

 printf("Ingrese el tamaño del vector: ");
 scanf("%d",&t);


 int v[t];

printf("\ningrese los %d numeros:\n",t);
for(i=0;i<t;i++){
scanf("%d",&v[i]);
 }


 mostrar(t,v);

///Ordenar de menor a mayor
 int aux;
for(i=0;i<t;i++){
   for(j=0;j<t;j++){
   if(v[i]<v[j]){
      aux=v[i];
      v[i]=v[j];
      v[j]=aux;
    }
    }
}
 printf("\nVector ordenado de menor a mayor: \n");
 mostrar(t,v);

///Ordenar de menor a mayor

for(i=0;i<t;i++){
   for(j=0;j<t;j++){
   if(v[i]>v[j]){
      aux=v[i];
      v[i]=v[j];
      v[j]=aux;
    }
    }
}

printf("\nVector ordenado de mayor a menor: \n");
mostrar(t,v);

///Numero mayor
int mayor=v[0];
for(i=0;i<t;i++){
for(j=0;j<t;j++){
if(mayor<v[j]){
    mayor=v[j];
}
}
}
printf("El numero mayor es: %d ",mayor);



///Numero menor
mayor=v[0];
for(i=0;i<t;i++){
for(j=0;j<t;j++){
if(mayor>v[j]){
    mayor=v[j];
}
}
}
printf("El numero menor es: %d \n",mayor);




///Buscar un numero
printf("Buscar un valor en el arreglo.\n");
printf("Ingrese un numero\n");
scanf("%d",&b);

for(i=0;i<t;i++){
    if(v[i]==b){
        bande=1;
    }
}
if(bande==1){
    printf("El numero se encuentra en el vector.\n");
}else{
printf("El numero %d no se encuentra en el vector.\n",b);
}

///Buscar un numero y reemplazarlo.
printf("Buscar un valor en el arreglo y reemplazarlo.\n");
printf("Ingrese un numero\n");
scanf("%d",&b);

for(i=0;i<t;i++){
    if(v[i]==b){
        pos=i;
        bande=1;
    }
}

 if(bande==1){
    printf("Ingrese el nuevo numero:\n");
    scanf("%d",&num);
    v[pos]=num;
    printf("Numero cambiado\n");
 }

 mostrar(t,v);

 return 0;
 }

domingo, 15 de septiembre de 2013

Calculadora básica en Java

Clase principal

import javax.swing.JOptionPane;

public class CalculadoraPrincipal { //iniciacion de la clase
    public static void main (String[] args){ //metodo principal
        int op=0, n1=0, n2=0; //op variables para el menu, n1 y n2 variables de los numeros
        String ax; //variable que recibe los numeros
        CalculadoraOperaciones trin = new CalculadoraOperaciones(); //objeto llamado trin de la clase operaciones para usar los metodos
        do{//comienzo del ciclo
            op = JOptionPane.showConfirmDialog(null,"Desea ingresar dos numeros y mostrar el resultado "
                    + "\nde las 4 operaciones basicas?");//cuadro de dialogo de tipo entrada
            if(op == JOptionPane.YES_OPTION){//si se selecciona SI hara lo que hay en el bloque
                ax = JOptionPane.showInputDialog(null, "Digite el primer numero: ");
                if(trin.isNum(ax)){//primera validacion
                    n1 = Integer.parseInt(ax);//n1 toma el valor convertido del anterior cuadro de dialogo
                    ax = JOptionPane.showInputDialog(null, "Digite el segundo numero: ");
                    if(trin.isNum(ax)){//segunda validacion
                        n2 = Integer.parseInt(ax);//n2 toma le valor convertido del anterior cuadro de dialogo
                        JOptionPane.showMessageDialog(null, "El resultado de la suma es: "+trin.suma(n1, n2)//se usa el metodo de suma de la clase operacioes
                                                   +"\nEl resultado de la resta es: "+trin.resta(n1, n2)//se usa el metodo de resta de la clase operaciones
                                                   +"\nEl resultado de la multiplicacion es: "+trin.multiplicacion(n1, n2)//se usa el metodo de multiplicacion de la clase operaciones
                                                   +"\nEl resultado de la division es: "+trin.division(n1, n2));//se usa el metodo de division de la clase operaciones
                    }//final segunda validacion
                    else{
                        JOptionPane.showMessageDialog(null, "Ingrese un numero","Advertencia !!!", JOptionPane.WARNING_MESSAGE);
                    }
                }  //final primera validacion
                else{//se muestra un mensaje y no se realiza las operaciones ya que el primer valor no es un numero
                    JOptionPane.showMessageDialog(null, "Ingrese un numero","Advertencia !!!", JOptionPane.WARNING_MESSAGE);
                }                     
            }//finaliza bloque
            else if(op == JOptionPane.NO_OPTION){//si se selecciona NO hara lo que hay en el bloque
                JOptionPane.showMessageDialog(null, "Si desea terminar la aplicacion elige Cancelar.","Advertencia !!!" ,JOptionPane.WARNING_MESSAGE);//mensaje de advertencia
            }//finaliza bloque
        }while(op!= JOptionPane.CANCEL_OPTION);//el ciclo finaliza cuando se da cancelar
        System.exit(0);//linea para asegurar la finalizacion del programa     
    }  //fin metodo principal  
}//final de la clase


Clase secundaria la cual contiene los metodos

public class CalculadoraOperaciones { //comienzo clase operaciones
 
    public int suma(int n1, int n2){//metodo para sumar, recibe dos numeros
        int op; //variable que almacena la respuesta
        op = n1 + n2; //operacion
        return op; //devuelve el valor de la operacion
    } //fin metodo suma
    public int resta (int n1, int n2){ //metodo para restar, recibe dos numeros
        int op; //variable que almacena la respuesta
        op = n1 - n2; //operacion
        return op; //devuelve el valor de la operacion
    }// fin metodo resta
    public int multiplicacion(int n1, int n2){ //metodo para multiplicar, recibe dos numeros
        int op; //variable que almacena la respuesta
        op = n1 * n2; //operacion
        return op; //devuelve el valor de la operacion
    } //fin metodo multiplicacion 
    public int division(int n1, int n2){ //metodo para division, recibe dos numeros
        int op; //variable que almacena la respuesta
        op = n1 / n2; //operacion
        return op; //devuelve el valor de la operacion
    }//fin metodo division
    public boolean isNum(String n){//metodo para validar si se ha ingresado un numero, recibe una cadena de texto
        int a;//variable que almacena la cadena a convertir
        try{  
            a = Integer.parseInt(n); //se convierte la cadena      
            return true; //si se ha convertido a entero devuelve verdadero
        } 
        catch(NumberFormatException e){ 
            return false; //si no se ha convertido a entero devuelve falso
        }
    }//fin metodo validar
}//fin clase operaciones




Ordenar un arreglo unidimensional de menor a mayor en C



int main()
{
     //ordenar un vector de menor a mayor
     int v[10];


     int i,j;
     int aux=0;
     for(i=0;i<10;i++){
        printf("Ingrese numero: ");
        scanf("%d",&v[i]);
     }

     for(i=0;i<10-1;i++){
        for(j=i+1;j<10;j++){
            if(v[i]>v[j]){

                aux=v[i];
                v[i]=v[j];
                v[j]=aux;
            }
            }
        }
     printf("VECTOR ORDENADO DE MENOR A MAYOR!!\n");
    for(i=0;i<10;i++){
        printf("\t\tVECTOR[%d]%d\n",i,v[i]);
    }
    return 0;
}

Cargar una matriz en Java

import java.util.Scanner;

public class OrdenarMatriz02 {


public static void main(String[] args) {
            Scanner teclado=new Scanner(System.in);

System.out.println("introduce las filas");
int n=teclado.nextInt();//pide las filas
System.out.println("introduce las columnas");
int m=teclado.nextInt();//pide las columnas
int j=0,i=0,t=0;
int mat[][]=new int [n][m];
for ( i=0;i<n;i++){
for(  j=0;j<m;j++){
System.out.println("introduce el numero en la pocision  "+i+"  "+j);
mat[i][j]=teclado.nextInt();//pide el nnumero
}
}
for ( i=0;i<n;i++){//imprime la matriz como ingresaste los datos
for(  j=0;j<m;j++){
System.out.print(mat[i][j]+" ");
}
System.out.println("");
}
}
}