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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Ayuda con Batch. [Solucionado]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con Batch. [Solucionado]  (Leído 3,776 veces)
BlacKGilgamesH

Desconectado Desconectado

Mensajes: 28


¿¿Por qué la gente aprecia más un post estupido??


Ver Perfil WWW
Ayuda con Batch. [Solucionado]
« en: 6 Abril 2010, 19:41 pm »

Hola, soy nuevo aqui en el foro, pero llevo programando en batch un buen tiempo, pero tengo un problema, en el siguiente codigo, pide al usuario un numero, por ejemplo 5, y tendria que mostrar algo asi.

+
++
+++
++++
+++++

osea, que haga X cantidad de filas con cada vez un "+"  más, y lo que hace es:

+
+
+
+
+

Pero no se que este mal en este codigo.

Código
  1. @echo off
  2. title Piramide Astericos
  3. color f0
  4. cls
  5. echo.Numero de filas de la piramide?
  6. set/p aster=
  7. set num=1
  8. cls
  9. :ini2
  10. call:aster1 %num%
  11. if %num%==%aster% (
  12. goto fin1
  13. ) else (
  14. set/a num=%num%+1
  15. goto ini2
  16. )
  17. :fin1
  18. pause>nul
  19. :aster1

De antemano gracias.

PD:En el codigo los "+" son "*"


« Última modificación: 6 Abril 2010, 20:26 pm por Leo Gutiérrez. » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Ayuda con Batch.
« Respuesta #1 en: 6 Abril 2010, 20:19 pm »

Lo que debes de hacer:

En una variable ir concatenando los asteriscos:

Código
  1. @echo off
  2. :code
  3. set /p "lineas=Ingresa un numero : "
  4. if not defined lineas (goto:code)
  5. set "string=*"
  6. :loop
  7. echo %string%
  8. set "string=%string%*"
  9. set /a "cont+=1"
  10. if %cont% neq %lineas% (goto:loop)
  11. set /p "="
  12. exit /b 0

No tiene caso que te compliques tanto con tantos gotos y etiquetas.

Incluso podrías con FOR:
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :code
  4. set /p "lineas=Ingresa un numero : "
  5. if not defined lineas (goto:code)
  6. set "string=*"
  7. for /l %%_ in (1, 1, %lineas%) do (
  8. echo !string!
  9. set "string=!string!*"
  10. )
  11. set /p "="
  12. exit /b 0
  13.  

Aquí otra menera de como se haría por ejemplo en C:

Código
  1. @echo off
  2. rem Piramide de 5 lineas.
  3. for /l %%i in (1, 1, 5) do (
  4. for /l %%j in (1, 1, %%i) do (
  5. < nul set /p "=*"
  6. )
  7. )
  8. pause>nul
  9. exit /b 0

Cualquier duda aquí estamos.


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
BlacKGilgamesH

Desconectado Desconectado

Mensajes: 28


¿¿Por qué la gente aprecia más un post estupido??


Ver Perfil WWW
Re: Ayuda con Batch.
« Respuesta #2 en: 6 Abril 2010, 20:25 pm »

Gracias, ya esta solucionado, me sirvio.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines