FoxPro/Visual FoxPro - Ayuda con Logica

 
Vista:

Ayuda con Logica

Publicado por Luis Polo  (134 intervenciones) el 02/08/2009 17:53:58
Saludos amigos:
Amigo alguien tendra la logica para la distribucion de billetes, digamos en la empresa donde laboro las planillas suman 640,540 soles por pagar:

como le haria para distribuidr mis billetes algo asi:

300,000 en billetes de 100
200,000 en billetes de 50
100,000 en billetes de 20

A ver si ame ayudan con esto.
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Ayuda con Logica

Publicado por Juan286 (185 intervenciones) el 03/08/2009 16:03:28
Pues la verdad es dificil ayudarte en terminos de logica ya que cada persona ve el problema de diferente modo y cada progamador tienes su estilo pero pues ahi te ba espero poder esplicartte como esta esto..

como yo estoy en mexico tome en cuenta las catidades de 500, 200, 100, 50 y 20 que son los billetes k aki sirculan

en base a eso, se me ocurrior algo sumamente sencillo.

coloque una casila1 para pedir la cantidad.

una ves ingresada la cantidad la dividi entre 500 y el valor de ellos lo envia a num_500 despues como resultado obtines cuantos billetes de 500 necesitas ejemplo si ingresas 1000 el resultado seria 2.

Despues coloque el resulado en otra casilla 2 y en otra casilla 3 hice la multiplicacin de la cantidad de 500 por la num_500 diras para que bueno por que ahora hago la resta de casilla 3 menos el valor de la casilla 1 madamos el valor a resta_1

para los demas se aplica igual solo cambias la casillas y en lugar de tomar el valor de la casilla de entrada tomas el valor de la resta_1

y listo tendras un programa que al ingresar la cantidad te fdira cuantos billetes necesitas y k cuyales la cantidad

alguna dudas mi correo esta adjunto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Logica

Publicado por Luis Polo (134 intervenciones) el 03/08/2009 21:53:58
Gracias Juan, ya con esa logica empezamos.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Ayuda con Logica

Publicado por juan286 (185 intervenciones) el 04/08/2009 15:39:41
De echo termine un ejemplo algo loco que se me ocurrio solo faltan unos detalles como desactivar las casillas y las reglas si no ingresan moni
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 309
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:Ayuda con Logica

Publicado por santiago (551 intervenciones) el 05/08/2009 03:11:09
la logica es la siguiente:

debes tomas cada pago por separado

ejemplo:

pablo 2,560.00
pedro 1,386.00
vilma 875.00

entonces:

necesito 11 monedas de uno
21 billetes de diez
16 billetes de cien
3 billetes de mil
pero como no hay billetes de mil, bajo al nivel inferior y obtengo 30 billetes de cien adicionales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Logica

Publicado por Luis Polo (134 intervenciones) el 05/08/2009 15:44:31
Gracias de nuevo amigo:
Pero imagino que tambien la distribucion de billetes se debe de dar de acuerdo al numero de trabajadores a pagar, cierto ?

Santiago, ahora si esta claro tu ejm; lo que no se me ocurre es como hacer la aplicacion en un prg.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Logica

Publicado por jose camilo (1 intervención) el 05/08/2009 16:10:28
okis aki te va

parto de k tienes el pago de cada empleado en un tabla
do while !eof()
wsalario= salario
de500 = int(wsalario / 500)
wsalario = wsalario - (de500 * 500)
de100 = int(wsalario / 100)
wsalario = wsalario - (de100 * 500)
lo mismo para las demas denominaciones

Tde500 = Tde500 +de500
acumulo las denominaciones

skip
EndDo

desplego las denominaciones

nota : puedes controlar por si wsalario esta en 0 no te haga la divicion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauricio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Ayuda con Logica

Publicado por Mauricio (1541 intervenciones) el 05/08/2009 23:57:53
Polo, aca tienes un PRG en cual despues de probarlo, puedes meterlo a un SCAN, si asi lo deseas!!!!!
*---
*--- Programa para Polo para la distribucion de billetes LWP
public v_numero
v_numero = 1668798.99
v_cent = v_numero * 100
vcent = RIGHT(STR(v_cent),2) && Aca obtengo los centavos
vcent = INT(VAL(vcent)) && hago numerico los centavos
v_numero = INT(v_numero)
*******************************************************************
*--- 100 50 20 10 5 1 centavos DENOMINACIONES A USAR *
*******************************************************************
v100 = INT(v_numero / 100) && billetes de 100
vresto = v_numero - (v100*100)
*---
v50 = INT(vresto / 50) && billetes de 50
vresto = vresto - (v50 * 50) && Para hacerlo positivo
*---
v20 = INT(vresto / 20) && billetes de 20
vresto = vresto - (v20 * 20)
*---
v10 = INT(vresto / 10) && billetes de 10
vresto = vresto - (v10 * 10)
*---
v5 = INT(vresto / 5) && billetes de 5
vresto = vresto - (v5 * 5)
*---
v1 = vresto && billetes de 1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Logica

Publicado por Luis Polo  (134 intervenciones) el 06/08/2009 14:42:50
Gracias amigos: Jose Camilio muy bueno, Mauricio te pasastes y a los anteriores foristas tambien mi agradecimientos, realmente todos Uds muy amables y muy buenos.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar