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
| | |-+  Error: no se esperaba / en este momento
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error: no se esperaba / en este momento  (Leído 7,185 veces)
Jamjize

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Error: no se esperaba / en este momento
« en: 26 Mayo 2017, 04:55 am »

Tengo un problema con mi codigo chicos y no se donde esta :(
Código
  1. @echo off
  2. title Programa-36
  3. color a
  4.  
  5. set /p m=Ingrese el monto:
  6. if %m% LEQ 500 (
  7. echo no hay descuento
  8. pause>nul
  9. )
  10. if %m% GTR 500 if %m% LEQ 1000 (
  11. set /a mf=(%m% * 5) / 100
  12. set /a mf=%m% - %mf%
  13. goto 1
  14. )
  15. if %m% GTR 1000 if %m% LEQ 7000 (
  16. set /a mf=(%m% * 11) / 100
  17. set /a mf=%m% - %mf%
  18. goto 1
  19. )
  20. if %m% GTR 7000 if %m% LEQ 15000 (
  21. set /a mf=(%m% * 18) / 100
  22. set /a mf=%m% - %mf%
  23. goto 1
  24. ) else (
  25. set /a mf=(%m% * 18) / 100
  26. set /a mf=%m% - %mf%
  27. :1
  28. echo el cliente debe pagar $%mf%
  29. )
  30.  

Este el diagrama de flujo para que puedan guiarse


Lo raro es que si pongo un echo en unos de los if funciona bien pero se muestra toda la condicion :(



y perdonen de nuevo no se usar las etiquetas GeSHi :'(
si alguien pudiera decirme como publicarlas con ellas para el lenguaje Batch en este foro en un futuro me coregire solo :(

Muchas gracias de antemano :)


« Última modificación: 26 Mayo 2017, 05:40 am por Eleкtro » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Error: no se esperaba / en este momento
« Respuesta #1 en: 26 Mayo 2017, 05:38 am »

Los mensajes de error que empiezan por "no se esperaba X en este momento" indican un error sintáctico en el código. Debes encerrar la declaración de variable entre comillas dobles. Es básico. O en su defecto eliminar los paréntesis de la expresión aritmética. Aparte de eso, deberías activar la expansión de variables.

Ejemplo:

Código
  1. @Echo Off & SetLocal EnableDelayedExpansion
  2. ...
  3. if %m% GTR 1000 if %m% LEQ 7000 (
  4. SET /A "mf=(%m% * 11) / 100"
  5. SET /A "mf=%m% - !mf!"
  6. GoTo :1
  7. )
  8. ...
Sigue el mismo ejemplo en todos los bloques de las condicionales del código que has mostrado.

Por último, veo que eres una persona "esquemática" y metódica, por ese motivo creo que no está de más aconsejarte o advertirte de que estás desaprovechando todo tu potencial con un "lenguaje" como Batch.

si alguien pudiera decirme como publicarlas con ellas para el lenguaje Batch en este foro en un futuro me coregire solo :(

[code=dos] Deposite su código aquí. [/code]

¡Saludos!


« Última modificación: 26 Mayo 2017, 05:42 am por Eleкtro » En línea

Jamjize

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Error: no se esperaba / en este momento
« Respuesta #2 en: 26 Mayo 2017, 05:55 am »

Ya esta muchas gracias por la solucion al problema, tendre en cuenta todo desde ahora y otra cosa, salio otro error :(

Lo que imprime la consola:
Ingrese el monto: 700
Falta un operando.
el cliente debe pagar $35
Presione una tecla para continuar . . .

segun el codigo ingrese 700 y la ecuacion realizo: "700 * 5 / 100 " y luego no hizo la resta de "700 - 35"
por que falta el 35 en la ecuacion :(
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Error: no se esperaba / en este momento
« Respuesta #3 en: 26 Mayo 2017, 06:47 am »

por que falta el 35 en la ecuacion :(

No has seguido correctamente las indicaciones que te he mostrado. Fíjate bien en las lineas de código que resalté, estoy usando la expansión de variable: !mf!, sin embargo probablemente tú estés usando el símbolo de variable %.

Haz eso, como lo indiqué. O en su defecto también puedes hacer:  Call set /a "mf=%m% - %%mf%%"

¡Saludos!
En línea

Jamjize

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Error: no se esperaba / en este momento
« Respuesta #4 en: 26 Mayo 2017, 21:44 pm »

Waaa muchas gracias Eleкtro de enserio gracias por ayudarme! un abrazo crack!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema no se esperaba XXX en este momento [Batch] « 1 2 »
Scripting
ELVJop 12 19,207 Último mensaje 23 Abril 2012, 22:31 pm
por Eleкtro
(Batch) Error "No se esperaba GOTO en este momento"
Scripting
Anastacio 3 7,353 Último mensaje 1 Julio 2014, 04:39 am
por Eleкtro
No se esperaba 0 en este momento
Scripting
amok 0 1,748 Último mensaje 12 Noviembre 2016, 20:39 pm
por amok
Me dice (No se esperaba goto en este momento)(Solucionado)
Scripting
David8choceros8chounos 5 3,526 Último mensaje 2 Marzo 2017, 18:29 pm
por David8choceros8chounos
No se esperaba en este momento. Error [Batch]
Scripting
Fron99 3 3,980 Último mensaje 3 Abril 2017, 12:13 pm
por Fron99
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines