ayuda cajero automatico

Iniciado por themindmaster, 20 Septiembre 2013, 21:34 PM

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

themindmaster

es que todavia no llego hasta ese punto, la profesora dijo que tendria que usar mod :(
y no era en msgbox era que cuando insertaras el dinero un ejemplo 3500 entonces
billetes de 500= 1
billetes de 2000=1
billetes de 1000=1
:) pero gracias
saludos!
El sabio no se sienta para lamentarse, sino que se pone alegremente a su tarea de reparar el daño hecho.

Danyfirex

Mod te retorna el reciduo.

si hacer mod en 2500 (2500 mod 2000) te retorna 500, luego haces mod al 500 con 500 así sucesivamente hasta llegar a 0.

el ejemplo que te di solo faltava ponerle los textbox :S

Código (vb) [Seleccionar]
Private Sub Command1_Click()
Dim numeros As Long
numeros = Int(txtdinero.Text)

Do
numeros = billetes(numeros)
'MsgBox (numeros)
Loop Until numeros = 0
MsgBox ("listo")
End Sub

Function billetes(numero As Long) As Long
Select Case numero
Case Is >= 2000
billetes = numero Mod 2000
Debug.Print Int(numero / 2000) & " Billetes de 2000"
txt2000 = Str(Int(numero / 2000))
Case Is >= 1000
billetes = numero Mod 1000
Debug.Print Int(numero / 1000) & " Billetes de 1000"
txt1000 = Str(Int(numero / 1000))
Case Is >= 500
billetes = numero Mod 500
Debug.Print Int(numero / 500) & " Billetes de 500"
txt500 = Str(Int(numero / 500))
Case Is >= 200
billetes = numero Mod 200
Debug.Print Int(numero / 200) & " Billetes de 200"
txt200 = Str(Int(numero / 200))
Case Is >= 100
billetes = numero Mod 100
Debug.Print Int(numero / 100) & " Billetes de 100"
txt100 = Str(Int(numero / 100))
Case Else
End Select
End Function


saludos


themindmaster

me dice error '424' en tiempo de ejecucion:
se requiere un objeto

saludos!
El sabio no se sienta para lamentarse, sino que se pone alegremente a su tarea de reparar el daño hecho.

Danyfirex

los nombres de los controles  :rolleyes:

una mini explicación.

pasamos el la cantidad: ejemplo 2500


entonces en caso de que la cantidad sea >= 2000

hacemos mod:   
2500 mod 2000' que es 500 entonces lo retornamos

para sabes cuantos billetes son.

divimos 2500 /2000 que nos da 1.25
lo pasamos a entero int(1,25) y obtenemos 1
asi que es solo un billete de 2000

luego se hace lo mismo con el 500 que se retorno.

saludos





themindmaster

Gracias My Dear Mizuho mi error era que en el codigo pusiste txtdinero y yo tenia txtinsertar asi que puse txtdinero :) y listo gracias :D

Saludos cordiales!
El sabio no se sienta para lamentarse, sino que se pone alegremente a su tarea de reparar el daño hecho.

Danyfirex

Espero lo mires bien y entiendas bien el funcionamiento.


y sigue leyendo sobre vb6(aunque sea un poco viejo ya :S) gánale a tu profesora...

saludos


themindmaster

gracias por todo buscare para que sirve todo lo que no entienda :) gracias por toda tu ayuda :)

Saludos Cordiales!
El sabio no se sienta para lamentarse, sino que se pone alegremente a su tarea de reparar el daño hecho.