Opinion de programa

Iniciado por Architect, 23 Agosto 2007, 03:24 AM

0 Miembros y 1 Visitante están viendo este tema.

Architect

He hecho esto en batch es un programa para sumlar un banco agrdeceía que me dijeran sus opiniones

@echo off
title Banco

:menu
cls
echo.
echo 1.Registrarte
echo 2.Login
echo 3.Buscar Usuario
echo 4.Transferir datos
echo 5.Eliminar usuario
echo 6.Salir
set /p var=Que quieres hacer?
if %var%==1 goto registrarte
if %var%==2 goto login
if %var%==3 goto buscar
if %var%==4 goto transferir
if %var%==5 goto eliminar
if %var%==6 goto salida
if %var% GTR 6 goto menu

:registrarte
cls
set /p use=Introduce tu nombre:
set /p pas=Introduce tu password:
mkdir  "C:\Banco\%use%"
echo %pas% > "C:\Banco\%use%\%pas%.txt"
attrib +h "C:\Banco\%use%\%pas%.txt"
echo 0 >  "C:\Banco\%use%\flujo.txt"
goto menu

:login
cls
set /p use1=Introduce tu nombre:
if exist "C:\Banco\%use1%" (goto pass) else echo ese usuario no existe
pause
goto menu

:pass
cls
set /p pas1=Introduce tu password:
if exist "C:\Banco\%use1%\%pas1%.txt" (goto user) else echo contraseña invalida
pause
goto pass


:user
cls
echo.
echo Bievenido %use1%
echo.
echo.
echo 1.Revisar la cuenta
echo 2.Cambiar la cuenta
echo 3.Salir
echo.
set /p var2=Que quiere hacer?
If %var2%==1 goto revisar
If %var2%==2 goto cambiar la cuenta
If %var2%==3 goto exit
if %var2% GTR 3 goto error

:revisar
cls
echo.
echo Sus fondos actuales son
type "C:\Banco\%use1%\flujo.txt"
echo.
echo El Banco deposita $500 en su cuenta por el uso de sus servicios
echo.
echo Gracias por usar BancFue.inc
echo.
set /p var4=Son correctos sus fondos actuales? s/n
if %var4%==s goto user
if %var4%==n goto quejas

:quejas
cls
echo.
echo Consulte por favor con el administrador de banco. Llame al numero 052968562
pause
goto user


:cambiar la cuenta
cls
echo.
echo 1.Depositar
echo 2.Retirar
echo 3.Salir
set /p var5=Que quisisera hacer?
if %var5%==1 goto Depositar1
if %var5%==2 goto Retirar
if %var5%==3 goto irse
if %var5% GTR 3 goto wrong

:Depositar1
cls
set /p var23=Ha hecho algun deposito antes? (s/n)
if %var23%==s goto Depositar2
if %var23%==n goto Depositar

:Depositar2
cls
set var26=500
set /p var24=Cuanto quiere depositar?
for /f "tokens=*" %%b in (C:\Banco\%use1%\flujo.txt) do set /a var25=%%b+%var26%+%var24%&goto hacer

:hacer
echo %var25% > "C:\Banco\%use1%\flujo.txt"
echo Sus fondos se han depositado con exito
pause
goto user

:Depositar
set var6=0
cls
echo.
set /p var7=Cuanto quiere depositar?
set /a var8=var6+var7
echo %var8% > "C:\Banco\%use1%\flujo.txt"
goto cambiar la cuenta

:Retirar
cls
echo.
set /p var9=Cuanto quieres retirar?
set /a var10=var8-var9
echo %var10% > "C:\Banco\%use1%\flujo.txt"
goto cambiar la cuenta

:irse
goto user

:exit
goto menu

:error
cls
echo Por favor introduzca un numero valido
pause
goto user

:wrong
cls
echo Por favor introduzca un numero valido
pause
goto cambiar la cuenta

:buscar
cls
set /p var12=Introduzca el nombre del usuario que desea buscar:
if exist "C:\Banco\%var12%" (goto encontrado) else echo ese usuario no existe
Pause
goto menu

:encontrado
cls
echo usuario %var12% encontrado en nuestra base de datos
pause
goto menu

:eliminar
cls
set /p var13=Introduzca el nombre del usuario que desee borrar:
if exist "C:\Banco\%var13%" (goto pass3) else echo ese usuario no existe
pause
goto menu

:pass3
cls
set /p var14=Introduzca su password:
if exist "C:\Banco\%var13%\%var14%.txt" (goto seguridad) else echo password incorrecto
pause
goto menu

:seguridad
cls
set /p var15=Estas seguro? s/n
if %var15%==s goto delete
if %var15%==n goto menu

:delete
cls
del /A:H "C:\Banco\%var13%\%var14%.txt"
del "C:\Banco\%var13%\*.txt"
rmdir "C:\Banco\%var13%"
echo borrado con exito......
echo El usuario %var13% no posee ya ninguna informacion en nuestro banco
pause
goto menu

:transferir
cls
echo.
set /p var16=Nombre del usuario del cual desea transferir datos:
if exist "C:\Banco\%var16%" (goto pass4) else echo Usuario no encontrado en nuestra base de datos
pause
goto menu

:pass4
cls
echo.
set /p var17=Password del usuario del cual desea transferir datos:
if exist "C:\Banco\%var16%\%var17%.txt" (goto transferir1) else echo Password incorrecto
pause
goto menu

:transferir1
cls
echo.
set /p var18=Nombre del usuario al que le desea transferir datos:
if exist "C:\Banco\%var18%" (goto pass5) else echo Usuario no encontrado en nuestra base de datos
pause
goto menu

:pass5
cls
echo.
set /p var19=Password del usuario al que le desea transferir datos:
if exist "C:\Banco\%var18%\%var19%.txt" (goto transferir2) else echo Password incorrecto
pause
goto menu

:transferir2
cls
echo.
set /p var20=Desea transferirlo todo o una parte? (t/p)
if %var20%==t goto todo
if %var20%==p goto parte

:todo
cls
for /f "tokens=*" %%a in (C:\Banco\%var16%\flujo.txt) do echo %%a >> "C:\Banco\%var18%\flujo.txt"
del "C:\Banco\%var16%\flujo.txt"
echo Transferencia completa.....
pause
goto menu

:parte
cls
set /p var21=Cuanto quiere transferir?
for /f "tokens=*" %%a in (C:\Banco\%var16%\flujo.txt) do set /a var22=%%a-%var21%&goto parte2

:parte2
echo %var22% > "C:\Banco\%var16%\flujo.txt"
for /f "tokens=*" %%c in (C:\Banco\%var18%\flujo.txt) do set /a var28=%%c+%var21%
echo %var28% > "C:\Banco\%var18%\flujo.txt"
echo Transferencia completa.....
pause
goto menu


:salida
exit




Siuto

No probe todas las opciones pero esta muy interesante como ejercicio. ;)

Un consejo que veo asi rapidamente, no te conviene usar en la ruta que sea C:\Banco, ya que si alguien no tiene disponible la unidad C por algun motivo y el Windows se encuentra en D por ejemplo tu programa ya no funcionaria.

Para solucionar eso tendrias que acostumbrarte a usar las variables de entorno, para conocer las mismas con el comando SET podes verlas y sus valores correspondientes. Yo hubiese usado algo como %ProgramFiles%\Banco.

Architect

Hey, gracias, oye lo de las variables de entorno ya lo sabía, pero no estoy muy acostumbrado a usarlas, pero supongo que toda persona debe tener un disco C:,
por eso fue que lo puse, de todas maneras te agradezco la sugerencia, es verdad este programa fue concebido para ejercitar mis conocimientos.

.Undertaker.

tmb valdria "%homdrive%\Banco"   no¿¿??




                 

"MI WEB"