• Viernes 8 de Noviembre de 2024, 20:51

Autor Tema:  Calculadora en simbolo de sistema  (Leído 3900 veces)

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Calculadora en simbolo de sistema
« en: Domingo 2 de Noviembre de 2008, 23:35 »
0
Hola nuevamente

Hice en mi primer dia hice este pequeño codigo como ejemplo de una calculadora simple, en vista que recien estoy empezando en Java pues me gustaria su apoyo para poder mejorarlo. La idea es que mi calculadora funcione de la siguiente manera.

1. Al iniciar imprimir en pantalla las instrucciones de uso (eso puedo hacerlo)
2. Que la calculadora sea capaz de reconocer los operadores aritmeticos basicos como son +, -, *, /.
    Por ejemplo si escribo en pantalla: 2 + 2 pues el programa ubique el operador aritmetico y luego lo reconozca para luego de acuerdo al operador ejecute
    la operacion(suma, resta...) y luego lo muestre en pantalla.
    El problema es que no conozco mucho el tema de entrada de datos por teclado y manejo de cadenas, busqueda de cadenas, etc..

    Los pasos que pensaba a seguir eran

    1. Leer los datos ingresados segun el formato Operador1 OperadorAritmetico Operador2
    2. leer Operador1 y pasar a la variable v1, leer OperadoraAritmetico y pasarlo a v2, leer Operador2 y pasarlo a v3.
    3. Luego identificar que tipo de operador es para ejecutar la operacion.
    4. Imprimir en pantalla la respuesta
    5. Si en caso desea usar el resultado de la ultima operacion para ejecutar otra operacion pues seria algo asi:
       
        C:...El resultado es: 4
        C:...El resultado es: 4 * 2 //escribimos * 2 y luego de hacer enter nos daria la respuesta El resultado es: 8 //si deseamos podemos continuar ejecutando
        mas operaciones.

    6. Si deseamos resetear la calculadora pues escribir la palabra REINICIAR y la calculadora debe volver a 0.
    7. Si deseamos salir de la calculadora y volver al simbolo del sistema pues escribir SALIR
   
    Pegare aqui el codigo que hice justo de lo que estoy explicando arriba pero de otra manera ya que no conozco aun el manejo de cadenas entre otras cosas.
    Cabe mencionar que no estoy estudiando en ninguna entidad educativa asi que no hay apuros xD :D

    Aqui el codigo que escribi:

    //Estoy usando JDK 1.5.0 y usando el bloc de notas como IDE y lo compilo con javac archivo.java en el simbolo del sistema
    //Bajo Windows XP

import java.util.Scanner;
public class calcV1
{
  public static void main(String[] args)
  {
    Scanner teclado=new Scanner(System.in);
    double nNum1, nNum2, nOpe=1, nRes=0;

    System.out.println("");
    System.out.println("");
    System.out.println("Mi Calculadora");
    System.out.println("");
    System.out.println(" Para realizar una operacion se le pedira un numero, pulse  enter");
    System.out.println(" le pedira el operador, pulse enter y luego el otro numero pulse enter.");
    System.out.println(" La calculara ejecutara la operacion y mostrara el resultado");
    System.out.println(" El operador puede ser segun la tabla a continuacion.");
    System.out.println(" Si desea sumar el operador es 1, restar es 2 y asi con el resto");
    System.out.println(" Si desea volver a empezar las operaciones desde Cero pulse 0");
    System.out.println(" Si desea cerrar la calculadora pulse 5");
    System.out.println("");
    System.out.println(" Operacion           | Parametro  ");
    System.out.println(" -------------------------------");
    System.out.println(" Suma                    Pulse 1");
    System.out.println(" Resta                   Pulse 2");
    System.out.println(" Multiplicacion          Pulse 3");
    System.out.println(" Division                Pulse 4");
    System.out.println(" Volver a cero           Pulse 0");
    System.out.println(" Cerrar calculadora      Pulse 5");
    System.out.println(" -------------------------------");
    System.out.println("");
    System.out.print("Escriba el numero: ");
    nNum1=teclado.nextDouble();
    System.out.print("Escriba el operador: ");
    nOpe=teclado.nextDouble();
    while (nOpe!=5)
    {      
      if (nOpe==0)
      {
        System.out.println("Se ha reseteado la calculadora: 0.00");
        nNum1=0;
        nNum2=0;
        nOpe=0;
        nRes=0;
        System.out.print("Escriba el numero: ");
        nNum1=teclado.nextDouble();
      }
      else
      {
        System.out.print("Escriba el numero: ");
        nNum2=teclado.nextDouble();
        if (nOpe==1) nRes=nNum1 + nNum2;
        if (nOpe==2) nRes=nNum1 - nNum2;
        if (nOpe==3) nRes=nNum1 * nNum2;
        if (nOpe==4)
        {
          if (nNum2==0)
          {
            System.out.println("Division por cero no es aceptada");
          }
          else
          {
            nRes=nNum1 / nNum2;
          }
        }
        System.out.println("El resultado es: " + nRes);
        nNum1=nRes;
      }
      System.out.print("Escriba el operador: ");
      nOpe=teclado.nextDouble();
    }
    System.out.println("Se ha cerrado la calculadora!");
  }
}

Cuando se ejecuta muestra las instrucciones de uso
Espero puedan ayudarme

Saludos cordiales
Zeekel

FAvorHola nuevamente

Hice en mi primer dia hice este pequeño codigo como ejemplo de una calculadora simple, en vista que recien estoy empezando en Java pues me gustaria su apoyo para poder mejorarlo. La idea es que mi calculadora funcione de la siguiente manera.

1. Al iniciar imprimir en pantalla las instrucciones de uso (eso puedo hacerlo)
2. Que la calculadora sea capaz de reconocer los operadores aritmeticos basicos como son +, -, *, /.
    Por ejemplo si escribo en pantalla: 2 + 2 pues el programa ubique el operador aritmetico y luego lo reconozca para luego de acuerdo al operador ejecute
    la operacion(suma, resta...) y luego lo muestre en pantalla.
    El problema es que no conozco mucho el tema de entrada de datos por teclado y manejo de cadenas, busqueda de cadenas, etc..

    Los pasos que pensaba a seguir eran

    1. Leer los datos ingresados segun el formato Operador1 OperadorAritmetico Operador2
    2. leer Operador1 y pasar a la variable v1, leer OperadoraAritmetico y pasarlo a v2, leer Operador2 y pasarlo a v3.
    3. Luego identificar que tipo de operador es para ejecutar la operacion.
    4. Imprimir en pantalla la respuesta
    5. Si en caso desea usar el resultado de la ultima operacion para ejecutar otra operacion pues seria algo asi:
       
        C:...El resultado es: 4
        C:...El resultado es: 4 * 2 //escribimos * 2 y luego de hacer enter nos daria la respuesta El resultado es: 8 //si deseamos podemos continuar ejecutando
        mas operaciones.

    6. Si deseamos resetear la calculadora pues escribir la palabra REINICIAR y la calculadora debe volver a 0.
    7. Si deseamos salir de la calculadora y volver al simbolo del sistema pues escribir SALIR
   
    Pegare aqui el codigo que hice justo de lo que estoy explicando arriba pero de otra manera ya que no conozco aun el manejo de cadenas entre otras cosas.
    Cabe mencionar que no estoy estudiando en ninguna entidad educativa asi que no hay apuros xD :D

    Aqui el codigo que escribi:

    //Estoy usando JDK 1.5.0 y usando el bloc de notas como IDE y lo compilo con javac archivo.java en el simbolo del sistema
    //Bajo Windows XP

import java.util.Scanner;
public class calcV1
{
  public static void main(String[] args)
  {
    Scanner teclado=new Scanner(System.in);
    double nNum1, nNum2, nOpe=1, nRes=0;

    System.out.println("");
    System.out.println("");
    System.out.println("Mi Calculadora");
    System.out.println("");
    System.out.println(" Para realizar una operacion se le pedira un numero, pulse  enter");
    System.out.println(" le pedira el operador, pulse enter y luego el otro numero pulse enter.");
    System.out.println(" La calculara ejecutara la operacion y mostrara el resultado");
    System.out.println(" El operador puede ser segun la tabla a continuacion.");
    System.out.println(" Si desea sumar el operador es 1, restar es 2 y asi con el resto");
    System.out.println(" Si desea volver a empezar las operaciones desde Cero pulse 0");
    System.out.println(" Si desea cerrar la calculadora pulse 5");
    System.out.println("");
    System.out.println(" Operacion           | Parametro  ");
    System.out.println(" -------------------------------");
    System.out.println(" Suma                    Pulse 1");
    System.out.println(" Resta                   Pulse 2");
    System.out.println(" Multiplicacion          Pulse 3");
    System.out.println(" Division                Pulse 4");
    System.out.println(" Volver a cero           Pulse 0");
    System.out.println(" Cerrar calculadora      Pulse 5");
    System.out.println(" -------------------------------");
    System.out.println("");
    System.out.print("Escriba el numero: ");
    nNum1=teclado.nextDouble();
    System.out.print("Escriba el operador: ");
    nOpe=teclado.nextDouble();
    while (nOpe!=5)
    {      
      if (nOpe==0)
      {
        System.out.println("Se ha reseteado la calculadora: 0.00");
        nNum1=0;
        nNum2=0;
        nOpe=0;
        nRes=0;
        System.out.print("Escriba el numero: ");
        nNum1=teclado.nextDouble();
      }
      else
      {
        System.out.print("Escriba el numero: ");
        nNum2=teclado.nextDouble();
        if (nOpe==1) nRes=nNum1 + nNum2;
        if (nOpe==2) nRes=nNum1 - nNum2;
        if (nOpe==3) nRes=nNum1 * nNum2;
        if (nOpe==4)
        {
          if (nNum2==0)
          {
            System.out.println("Division por cero no es aceptada");
          }
          else
          {
            nRes=nNum1 / nNum2;
          }
        }
        System.out.println("El resultado es: " + nRes);
        nNum1=nRes;
      }
      System.out.print("Escriba el operador: ");
      nOpe=teclado.nextDouble();
    }
    System.out.println("Se ha cerrado la calculadora!");
  }
}

Cuando se ejecuta muestra las instrucciones de uso
Espero puedan ayudarme

Saludos cordiales
Zeekel

Al Moderador de este Tema
Favor borrar el resto de Temas iniciados con el mismo nombre porque se crearon por mi error pulse unas teclas y se postearon solos sin darme cuenta
Excuseme y gracias.

Saludos cordiales
Zeekel
TP-Systems
our knowledge is our power!

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Calculadora en simbolo de sistema
« Respuesta #1 en: Lunes 3 de Noviembre de 2008, 13:00 »
0
Mi consejo es que primero pases las expresiones a notación polaca y luego las proceses, aunque igualmente vas a necesitar autómatas para esto.