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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Calculadora en el batch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: Calculadora en el batch  (Leído 14,430 veces)
MK-Ultra


Desconectado Desconectado

Mensajes: 435


~ Nevermind ~


Ver Perfil WWW
Calculadora en el batch
« en: 4 Diciembre 2007, 17:47 pm »

Que tal gente :)

Se me dio por hacer una calculadora q por ahora solo suma pero le voy a agregar un para de cosas mas.

El tem es q hay algun error q no lo puedo encontrar aver si me ayudan ustedes ;)

aka esta el codigo:

@ echo off
color 0a
echo*******************************************************************
echo
echo
echo
echo ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
echo
echo
echo
echo
echo <<<<<<<<<<<<<<<<<<<<<< ^Arkangel Creations^ >>>>>>>>>>>>>>>>>>>>>>
echo
echo
echo
echo *******************************************************************
pause > nul
set /P var1=Introduce un valor a sumar:
cls
set/P var2=Introduce otro valor a sumar:
cls
set/a resultado=%var1%+%var2%
echo El resultado de la suma es %resultado%
pause > nul
exit

solo suma, bueno, espero q me puedan ayudar, nos vemos luego


En línea

Agradecer no cuesta nada (al menos no mucho)

BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
nhaalclkiemr


Desconectado Desconectado

Mensajes: 1.678


Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92


Ver Perfil WWW
Re: Calculadora en el batch
« Respuesta #1 en: 4 Diciembre 2007, 19:23 pm »

Dividir \, multiplicar *, restar -

Para potencias y raíces mirate este tema pegado en esta misma sección:

http://foro.elhacker.net/index.php/topic,163184.0.html

Y si kieres hacer división con decimales mirate estos codes que hice baseandome en el codigo de otro, te pongo dos codigos pork el primero te va mostrando el progreso del calculo (a partir de 70 decimales) y el segundo no te muestra nada...


Código
  1. @echo off
  2. ::Division con decimales by nhaalclkiemr
  3. ::Baseado en el code de kraszic
  4.  
  5. title DIVISION CON DECIMALES
  6.  
  7. echo Calcula una division hasta con numeros decimales
  8. :main
  9. set did=
  10. set div=
  11. set max=
  12. set /p did=Introduce el dividendo:
  13. set /p div=Introduce el divisor:
  14. set /p max=Introduce el numero maximo de decimales (por defecto 60):
  15. if "%did%"=="" goto main
  16. if "%div%"=="" goto main
  17. if "%max%"=="" set max=60
  18. if "%max%"=="0" set max=60
  19. set /a xxx=%did%*1
  20. if not "%xxx%"=="%did%" goto main
  21. set /a xxx=%div%*1
  22. if not "%xxx%"=="%div%" goto main
  23. set /a xxx=%max%*1
  24. if not "%xxx%"=="%max%" goto main
  25. if %div%==0 (
  26. echo Error. Division por cero.
  27. pause>nul
  28. )
  29. set /a divno0=%did%/%div%
  30. set /a mult1=%divno0%*%div%
  31. set /a resi0=%did%-%mult1%
  32. if %resi0%==0 (
  33. goto exacto
  34. )
  35. set p=0
  36. echo Calculando...
  37. :a
  38. set /a nu=nu+1
  39. if not "%percent%"=="" set /a antpercent=%percent%
  40. set /a percent=%nu%*100/%max%
  41. if not "%antpercent%"=="%percent%" (
  42. if %nu% GTR 70 echo %percent%%%
  43. )
  44. set temp1=resi%p%
  45. set temp2=divno%nu%
  46. set temp3=mult%nu%
  47. call:func1 %%%temp1%%%0
  48. call:func2 %%%temp2%%% %%%temp2%%%
  49. call:func3 %%%temp1%%%0 %%%temp3%%%
  50. goto sig
  51. :func1
  52. set /a divno%nu%=%1/%div%
  53. goto:EOF
  54. :func2
  55. set /a mult%nu%=%1*%div%
  56. goto:EOF
  57. :func3
  58. set /a resi%nu%=%1-%2
  59. goto:EOF
  60. :sig
  61. set /a p=p+1
  62. set temp=resi%nu%
  63. call:funcion2 %%%temp%%%
  64. goto sig2
  65. :funcion2
  66. set tempvalue=%1
  67. goto:EOF
  68. :sig2
  69. If not %nu%==%max% if not %tempvalue%==0 goto a
  70. For /L %%I IN (1,1,%nu%) DO (
  71. call:funcion3 %%%%divno %%I%%%%
  72. )
  73. goto exacto
  74. :funcion3
  75. call:funcion7 %1%2
  76. goto seguir
  77. :funcion7
  78. set tmpvar=%1
  79. goto:EOF
  80. :seguir
  81. set decimal=%decimal%%tmpvar%
  82. goto:EOF
  83. :exacto
  84. if not "%decimal%"=="" set decimal=.%decimal%
  85. echo Resultado: %divno0%%decimal%
  86. pause>nul

Código
  1. @echo off
  2. ::Division con decimales by nhaalclkiemr
  3. ::Baseado en el code de kraszic
  4.  
  5. title DIVISION CON DECIMALES
  6.  
  7. echo Calcula una division hasta con numeros decimales
  8. :main
  9. set did=
  10. set div=
  11. set max=
  12. set /p did=Introduce el dividendo:
  13. set /p div=Introduce el divisor:
  14. set /p max=Introduce el numero maximo de decimales (por defecto 30):
  15. if "%did%"=="" goto main
  16. if "%div%"=="" goto main
  17. if "%max%"=="" set max=30
  18. if "%max%"=="0" set max=30
  19. set /a xxx=%did%*1
  20. if not "%xxx%"=="%did%" goto main
  21. set /a xxx=%div%*1
  22. if not "%xxx%"=="%div%" goto main
  23. set /a xxx=%max%*1
  24. if not "%xxx%"=="%max%" goto main
  25. if %div%==0 (
  26. echo Error. Division por cero.
  27. pause>nul
  28. )
  29. set /a divno0=%did%/%div%
  30. set /a mult1=%divno0%*%div%
  31. set /a resi0=%did%-%mult1%
  32. if %resi0%==0 (
  33. goto exacto
  34. )
  35. set p=0
  36. echo Calculando...
  37. :a
  38. set /a nu=nu+1
  39. set temp1=resi%p%
  40. set temp2=divno%nu%
  41. set temp3=mult%nu%
  42. call:func1 %%%temp1%%%0
  43. call:func2 %%%temp2%%% %%%temp2%%%
  44. call:func3 %%%temp1%%%0 %%%temp3%%%
  45. goto sig
  46. :func1
  47. set /a divno%nu%=%1/%div%
  48. goto:EOF
  49. :func2
  50. set /a mult%nu%=%1*%div%
  51. goto:EOF
  52. :func3
  53. set /a resi%nu%=%1-%2
  54. goto:EOF
  55. :sig
  56. set /a p=p+1
  57. set temp=resi%nu%
  58. call:funcion2 %%%temp%%%
  59. goto sig2
  60. :funcion2
  61. set tempvalue=%1
  62. goto:EOF
  63. :sig2
  64. If not %nu%==%max% if not %tempvalue%==0 goto a
  65. For /L %%I IN (1,1,%nu%) DO (
  66. call:funcion3 %%%%divno %%I%%%%
  67. )
  68. goto exacto
  69. :funcion3
  70. call:funcion7 %1%2
  71. goto seguir
  72. :funcion7
  73. set tmpvar=%1
  74. goto:EOF
  75. :seguir
  76. set decimal=%decimal%%tmpvar%
  77. goto:EOF
  78. :exacto
  79. if not "%decimal%"=="" set decimal=.%decimal%
  80. echo Resultado: %divno0%%decimal%
  81. pause>nul


El código de los dos es lo mismo, en el primero añadí unas lineas poco importantes para obtener el progreso...


En línea

StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%
MK-Ultra


Desconectado Desconectado

Mensajes: 435


~ Nevermind ~


Ver Perfil WWW
Re: Calculadora en el batch
« Respuesta #2 en: 4 Diciembre 2007, 19:28 pm »

yap, pero queria saber xq el mio no funciona  :P

apenas abro el batch se cierra  :o

xD
En línea

Agradecer no cuesta nada (al menos no mucho)

BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
nhaalclkiemr


Desconectado Desconectado

Mensajes: 1.678


Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92


Ver Perfil WWW
Re: Calculadora en el batch
« Respuesta #3 en: 4 Diciembre 2007, 20:04 pm »

Varios problemas...primero ya en algunas instrucciones como set /p los tenias pegados algunos...después en el echo no puede susar carácteres >>> o <<< y si los kieres kieres usar antes de cada caracter tienes que poner el simbolo ^, y para poner este simbolo tienes que poner dos ^^
Después otra cosa es que en vez de poner un echo a secas pon un echo. para dejar una linea en blanco...

Código
  1. @echo off
  2. color 0a
  3. echo *******************************************************************
  4. echo ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
  5. echo ^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^< ^^Arkangel Creations^^ ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
  6. echo *******************************************************************
  7. set /P var1=Introduce un valor a sumar:
  8. cls
  9. set /P var2=Introduce otro valor a sumar:
  10. cls
  11. set /a resultado=%var1%+%var2%
  12. echo El resultado de la suma es %resultado%
  13. pause>nul

Saludos ;)
En línea

StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%
MK-Ultra


Desconectado Desconectado

Mensajes: 435


~ Nevermind ~


Ver Perfil WWW
Re: Calculadora en el batch
« Respuesta #4 en: 4 Diciembre 2007, 20:25 pm »

Buenissimo, lo de los signos no lo sabía ^^ muchas gracias  ;)

Una pregunta:

Hay alguna manera de cnetrar el texto que aparezca ( en el caso de Bienvenido a la cal...... ) en la pantalla de batch para que no salga pegado al margen izq?

Muchas gracias!
En línea

Agradecer no cuesta nada (al menos no mucho)

BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
nhaalclkiemr


Desconectado Desconectado

Mensajes: 1.678


Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92


Ver Perfil WWW
Re: Calculadora en el batch
« Respuesta #5 en: 4 Diciembre 2007, 20:30 pm »

Nunca lo había pensado...prueva a poner mas espacios despues del echo a ver  :xD
En línea

StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%
MK-Ultra


Desconectado Desconectado

Mensajes: 435


~ Nevermind ~


Ver Perfil WWW
Re: Calculadora en el batch
« Respuesta #6 en: 4 Diciembre 2007, 20:46 pm »

jajaja lo voy a tener q hacer a mano xD
En línea

Agradecer no cuesta nada (al menos no mucho)

BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
MK-Ultra


Desconectado Desconectado

Mensajes: 435


~ Nevermind ~


Ver Perfil WWW
Re: Calculadora en el batch
« Respuesta #7 en: 4 Diciembre 2007, 21:43 pm »

la amplie para q multiplique , divida y reste pero algo anda mal.
aca esta el codigo:

Código:
@echo off
color 0c
echo ********************************************************************************
echo.
echo.
echo.
echo     ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
echo.
echo.
echo.
echo.
echo             ^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^< ^^Arkangel Creations^^ ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
echo. 
echo.
echo.
echo ********************************************************************************
echo.
echo Que operacion desea usted hacer?
echo +
echo -
echo x
echo /
set /p operacion=
if %operacion% = + goto +
if %operacion% = - goto -
if %operacion% = x goto x
if %operacion% = / goto /


:-
cls
echo ********************************************************************************
echo.
echo.
echo.
echo     ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
echo.
echo.
echo.
echo.
echo             ^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^< ^^Arkangel Creations^^ ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
echo. 
echo.
echo.
echo ********************************************************************************
echo.
set /P var1=Introduce un valor a restar:

cls
echo ********************************************************************************
echo.
echo.
echo.
echo     ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
echo.
echo.
echo.
echo.
echo             ^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^< ^^Arkangel Creations^^ ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
echo. 
echo.
echo.
echo ********************************************************************************
echo.
set /P var2=Introduce otro valor a restar:

cls
echo ********************************************************************************
echo.
echo.
echo.
echo     ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
echo.
echo.
echo.
echo.
echo             ^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^< ^^Arkangel Creations^^ ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
echo. 
echo.
echo.
echo ********************************************************************************
echo.
set /a resultado=%var1%-%var2%

echo El resultado de la resta es %resultado%

pause>nul

exit


:+
cls
echo ********************************************************************************
echo.
echo.
echo.
echo     ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
echo.
echo.
echo.
echo.
echo             ^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^< ^^Arkangel Creations^^ ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
echo. 
echo.
echo.
echo ********************************************************************************
echo.
set /P var1=Introduce un valor a sumar:

cls
echo ********************************************************************************
echo.
echo.
echo.
echo     ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
echo.
echo.
echo.
echo.
echo             ^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^< ^^Arkangel Creations^^ ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
echo. 
echo.
echo.
echo ********************************************************************************
echo.
set /P var2=Introduce otro valor a sumar:

cls
echo ********************************************************************************
echo.
echo.
echo.
echo     ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
echo.
echo.
echo.
echo.
echo             ^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^< ^^Arkangel Creations^^ ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
echo. 
echo.
echo.
echo ********************************************************************************
echo.
set /a resultado=%var1%+%var2%

echo El resultado de la suma es %resultado%

pause>nul

exit


:x
cls
echo ********************************************************************************
echo.
echo.
echo.
echo     ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
echo.
echo.
echo.
echo.
echo             ^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^< ^^Arkangel Creations^^ ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
echo. 
echo.
echo.
echo ********************************************************************************
echo.
set /P var1=Introduce un valor a multiplicar:

cls
echo ********************************************************************************
echo.
echo.
echo.
echo     ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
echo.
echo.
echo.
echo.
echo             ^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^< ^^Arkangel Creations^^ ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
echo. 
echo.
echo.
echo ********************************************************************************
echo.
set /P var2=Introduce otro valor a multiplicar:

cls
echo ********************************************************************************
echo.
echo.
echo.
echo     ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
echo.
echo.
echo.
echo.
echo             ^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^< ^^Arkangel Creations^^ ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
echo. 
echo.
echo.
echo ********************************************************************************
echo.
set /a resultado=%var1%*%var2%

echo El resultado de la multiplicacion es %resultado%

pause>nul

exit



:/
cls
echo ********************************************************************************
echo.
echo.
echo.
echo     ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
echo.
echo.
echo.
echo.
echo             ^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^< ^^Arkangel Creations^^ ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
echo. 
echo.
echo.
echo ********************************************************************************
echo.
set /P var1=Introduce un valor a dividir:

cls
echo ********************************************************************************
echo.
echo.
echo.
echo     ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
echo.
echo.
echo.
echo.
echo             ^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^< ^^Arkangel Creations^^ ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
echo. 
echo.
echo.
echo ********************************************************************************
echo.
set /P var2=Introduce otro valor a dividir:

cls
echo ********************************************************************************
echo.
echo.
echo.
echo     ////////////////////Bienvenido a la calculadora de\\\\\\\\\\\\\\\\\\\\
echo.
echo.
echo.
echo.
echo             ^<^<^<^<^<^<^<^<^<^<^<^<^<^<^<^< ^^Arkangel Creations^^ ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
echo. 
echo.
echo.
echo ********************************************************************************
echo.
set /a resultado=%var1%/%var2%

echo El resultado de la divicion es %resultado%

pause>nul

exit

Si me aclarecen se los agradeceria mucho ;)
« Última modificación: 4 Diciembre 2007, 21:48 pm por ^Arkangel^ » En línea

Agradecer no cuesta nada (al menos no mucho)

BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
~[uNd3rc0d3]~

Desconectado Desconectado

Mensajes: 188


programando...


Ver Perfil
Re: Calculadora en el batch
« Respuesta #8 en: 5 Diciembre 2007, 00:46 am »

basandote en una cuenta de dos digitos como la calculadora que estas haciendo vos

porque no usas la operacion como otra variable

y te haces el code re corto...mira este code

Código:
@echo off
title calculadora de riva de dos numeros
:menu
cls
echo.
set /p a=ingrese el primer numero.:
cls
echo.
echo + - * /
echo.
set /p b=ingrese la operacion a realizar.:
cls
echo.
set /p c=ingrese el segundo numero.:
cls
echo.
set /a resultado=a%b%c
echo el resultado es %resultado%
pause >nul
goto menu


viste!! super corto y efectivo

estas es sensilla solo de dos numeros

En línea


leete las reglas asi todos estamos mejor ;)
MK-Ultra


Desconectado Desconectado

Mensajes: 435


~ Nevermind ~


Ver Perfil WWW
Re: Calculadora en el batch
« Respuesta #9 en: 5 Diciembre 2007, 01:57 am »

vale, mucahs gracias, pero si alguien seria tan amable de decirme que parte de mi codigo esta mal, porq no entiendo dnd esta la falla.

 :P

Muchias gracias = riva  ;)
En línea

Agradecer no cuesta nada (al menos no mucho)

BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Mi primer Calculadora en Batch.
Scripting
lagersito 1 3,092 Último mensaje 2 Octubre 2011, 22:15 pm
por 2Fac3R
[BATCH] Ayuda con calculadora
Scripting
Meine programmen 1 3,207 Último mensaje 4 Febrero 2012, 16:48 pm
por leogtz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines