![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
El problema está en saber si hay billetes suficientes o no.
Si el cajero tiene 2 Billetes de 50$, 2 Billetes de 20$, tienes en total 140$ disponibles. Si el usuario quiere 130$ no puedes suministrarlo (no te quedan billetes de 10). Existen algoritmos para analizar estos problemas, pero son bastante complejos (redes neuronales) y a nivel de clase no son viables. Lo fácil: - Primero compruebas que el monto que quiere el usuario es menor al disponible en el cajero. - Intentas servir billetes grandes mientras no sobrepases el monto, y cuando no puedas, cambias a un billete menor.
en "n50" tienes los billetes necesarios de 50 $, ahora tendrás que mirar en la Base de datos si tienes suficientes o no. Hay un caso que no he tenido en cuenta y no sé si te lo pedirán. Puede que no tengas billetes de 50$, pero podrías conseguir el monto necesario si tienes muchos billetes del 20$ y de 10$. Adapta el código. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 25-11-2007 a las 04:15:37. |
|
#2
|
||||
|
||||
|
Hola sdiaz1983,
Si no me equivoco, este ejercicio es el que estabas tratando aqui. Bueno, se que te estás inciando en Delphi y POO... espero que no te moleste lo que te voy a decir: no me gusta el código que veo... Si bien nada impide hacer un objeto descendiente de otro... no creo que sea adecuado hacer que TCuenta descienda de TWidgetControl. Por otro lado tampoco me gusta la manera en que estás enlazando las tablas con los objetos. Se que es un simple ejercicio... pero no considero que TCuenta y TCajero deban mantener un acoplamiento hacia la capa de datos... Además, la delegación entre TCajero y el o monto que dispone puede entenderse desde otro punto de vista. A mi modo de ver TCajero se comunica con un objeto TInventarioBilletes y éste le informa de las cantidades. ¿Es obligación que TCuenta y TCajero sean responsables de acceder a la base de datos? ¿Es obligación emplear sólo estos dos objetos, o se le permite diseñar algún otro objeto que sea conveniente? Yo fácilmente distingo al menos 4 objetos: TCajero, TCuenta, TInventario, TFachada. Este último actúa de Fachada entre los otros tres y la base de datos. Te pediría que me aclares estas dudas con respecto a tu ejercicio pues dependiendo de ello se debe hacer el diseño más adecuado. Quiero comentarte que mi FF me detecta demasiados scripts maliciosos en el sitio donde supuestamente colocaste el código y no quiero arriesgar mi equipo. ¿Tanto pesa? ¿Podrías considerar exponer más código que el expuesto aquí? Yo te podría ayudar y guiarte, pero a partir del miercoles a la noche, o jueves... No voy a estar disponible durante el Martes y Miercoles. Mientras tanto, aquí puedes seguir considerando el consejo de muchos. Estaba a punto de escribir unos ejemplos de acuerdo a mi percepción... pero no quiero: 1. Imponerte un diseño al que posiblemente no estés acostumbrado. 2. "Regalarte" un ejercicio. Considero que la mejor guia para tu problema es emplear UML, no te dirijas al código de una... hay algo que no me termina de convencer en el "caso de uso" que expones. ¿Es una copia textual del ejercicio? Si bien el problema es simple, me parece que te haz ahogado en un pequeño vaso de agua... parte de tu problema es como dice Lepe, determinar la cantidad, otro es saber como lograr que los objetos se comuniquen correctamente. calma... no quiere decir que todo lo que hiciste está mal, si recuerdas del otro hilo... yo he dicho que no hay un único modelo y punto de vista como enfocar un diseño OO. (de hecho considero que yo todavía no lo domino en su total potencial), Y es lo que yo comprendo de lo que estoy viendo en el código que expones aquí. Espero que no tengas prisas en esto (de hecho... aqui hacemos lo posible para evitar a quienes vienen con caracter de "urgente" o "es para hoy"). POO no se aprende en un día. Un consejo: Primero olvidate de donde obtienen los datos, centra tu esfuerzo en buscar la manera en que se comuniquen. Asume inicialmente un punto de vista sencillo: manten el supuesto de que los datos ya lo tienen y/o lo deben pedir a otro objeto. Cuando tengas resuelto el tema de la comunicación evalua el análisis de como hace para obtener los datos desde la base de datos. Saludos, Última edición por Delphius fecha: 26-11-2007 a las 04:11:39. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Necesito llamar a métodos de clases "hija" desde su clase "padre" | Flecha | OOP | 17 | 20-04-2007 00:03:53 |
| dudas sobre clases String e Integer | radaalvaro | .NET | 6 | 24-08-2006 18:24:51 |
| sobre clases | Thalia | OOP | 10 | 13-07-2006 20:36:19 |
| Ayuda con el dissenyo de una aplicacion. Clases o no? | tramjauer | OOP | 17 | 06-09-2005 09:34:20 |
| Sobre cierto resultado de la función SHGetSpecialFolderPath | dec | API de Windows | 3 | 01-06-2005 06:59:01 |
|