• Viernes 19 de Abril de 2024, 00:02

Autor Tema:  Hacer un programa  (Leído 2654 veces)

rmc

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Hacer un programa
« en: Miércoles 20 de Octubre de 2010, 17:32 »
0
Foro como estasn todos, le comento que quiero empezar a programar, he leido bastante sobre java y he visto varios videotutoriales, quiero empezar haciendo un programa para llevar el control de gastos personales con los ingresos y egresos de dinero correspondientes a determinados gastos, tengo una idea general de como hacerlo pero no logre darme cuenta como guardar la informacion que vaya ingresando para que me quede mes a mes y poder luego hacer estadisticas u otros calculos, la guardo como variables separadas, hago arrgelos, uso base de datos (ya esto seria complicarme para empezar), que me aconsejan, por donde empezar? que estructura utilizar?, gracias y saludos.....

LordJhony

  • Miembro activo
  • **
  • Mensajes: 70
    • Ver Perfil
Re: Hacer un programa
« Respuesta #1 en: Jueves 21 de Octubre de 2010, 13:25 »
0
Hola Bienvenido Al Foro.
La Forma En Que Tu Planteas El Como Quieres Guardar La Informacion Y Para que La Vas A Usar
Lo Mas Recomendable Es Que Uses Una Base De Datos

rmc

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Hacer un programa
« Respuesta #2 en: Jueves 21 de Octubre de 2010, 15:19 »
0
Hola LordJhony gracias por contestar, te cuento que mis nociones de porgramacion son muy basicas demasiado, creo yo que en esta implementación que deseo hacer voy a manejar datos tipo numericos (ingresos y egresos (gastos) de dinero) y tipo string cunado los cargue al programa, tendre que convertirlos, ahora bien por que? me aconsejas base de datos, no es meterse en lio para empezar?, he visto que java maneja varias estructuras de datos, arrayslist, hasmap, treemap, beans, etc.; estas estructuras seran mas faciles de manejar?, de elegir base de datos cual documentacion crees indispensable leer mas alla de seguro hay información por demas en internet, gracias por tu tiempo, saludos....

LordJhony

  • Miembro activo
  • **
  • Mensajes: 70
    • Ver Perfil
Re: Hacer un programa
« Respuesta #3 en: Jueves 21 de Octubre de 2010, 15:35 »
0
Si Es Verdad Java Como Cualquier Otro Lenguaje De Programacion Maneja Diferentes Estructuras.
Pero El Asunto Es Que Tu Quieres Almacenar Tu Informacion A Largo Plazo Para Realizar Diferentes
Operaciones Y Esto Lo Permite Las Bases De Datos. Las Estructuras Solo Te Permiten Guardar La
Informacion Mientras Tengas El Programa Ejecutandose Cuando Se Termine De Ejecutar El Programa
La Informacion Se Te Borrara.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Hacer un programa
« Respuesta #4 en: Jueves 21 de Octubre de 2010, 16:57 »
0
Mi consejo es que comiences con algo más sencillo, o bien que uses ficheros propios para guardar los datos si no va a ser un volumen excesivo (que es lo más probable para una aplicación casera). Aunque desde luego como te comenta LordJhony la mejor opción es una base de datos, pero si no quieres meterte en berenjenales (aunque tampoco es tan difícil como algunos lo pintan), mejor usa ficheros para empezar.

rmc

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Hacer un programa
« Respuesta #5 en: Jueves 21 de Octubre de 2010, 17:26 »
0
Graciasa  a los dos por guiarme y aclarar las dudas, estuve viendo un poco las estructuras de java y hay varias interesantes para usar, entendi ahora que por mas que use esas estructuras los datos hay que guardarlos de otra manera, segun suguieren base de datos o registros, me parece que debido a mi nivel empezaria con registros, primero necesito un poco de teoria sobre los mismos y mas adelante migrar a base de datos ya que es en lo que uno termina para aplicacioones de mayor tamaño, los datos que tengo que almacenar en el programa que quiero hacer no son muchos y puedo hacerlo por ej. semestralmente o anualmente si no se extiende mucho. Muchas gracias y saludos.....

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Hacer un programa
« Respuesta #6 en: Jueves 21 de Octubre de 2010, 17:46 »
0
Cita de: "rmc"
entendi ahora que por mas que use esas estructuras los datos hay que guardarlos de otra manera
Ten en cuenta que cuando cierres tu programa o a lo sumo cuando apagues el ordenador todas las variables se pierden. Por eso existen los discos duros y otros soportes de almacenamiento permanente.

Cita de: "rmc"
me parece que debido a mi nivel empezaria con registros, primero necesito un poco de teoria sobre los mismos
Con registros no sé muy bien a qué te refieres. ¿Supongo que registros de ficheros?

rmc

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Hacer un programa
« Respuesta #7 en: Jueves 21 de Octubre de 2010, 20:18 »
0
Moskito creo haber entendido bien, los datos con que interactua el programa mas alla de usar linkelist, arrayslist, hasmap, etc debo de alguna manera guardar esos datos en disco rigido para la proxima vez que necesite seguir cargando datos y asi poder hacer calculos con los mismos, para guardar esos datos por ahora no usuaria bases de datos para no complicarme demasiado, usaria registros o ficheros donde contener esos datos en el disco rigido, debo ver la forma de utilizar esto para aprender a manejarlos, osea seguire viendo teoria referida al tema, saludos.....

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Hacer un programa
« Respuesta #8 en: Viernes 22 de Octubre de 2010, 08:33 »
0
Cita de: "rmc"
los datos con que interactua el programa mas alla de usar linkelist, arrayslist, hasmap, etc debo de alguna manera guardar esos datos en disco rigido para la proxima vez que necesite seguir cargando datos y asi poder hacer calculos con los mismos
Eso es.

Cita de: "rmc"
por ahora no usuaria bases de datos para no complicarme demasiado, usaria registros o ficheros donde contener esos datos en el disco rigido, debo ver la forma de utilizar esto para aprender a manejarlos, osea seguire viendo teoria referida al tema
:good: ya sabes, si tienes dudas, por aquí andamos.

rmc

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Hacer un programa
« Respuesta #9 en: Lunes 25 de Octubre de 2010, 00:12 »
0
Estuve haciendo algunas anotaciones y la idea es llevar el control del dinero que entra, que esn este caso la fuente de mis ingresos son 2 trabajos, por otro lado tambien llevaria el control del dinero que sale de los distintos gastos que son varios, luz, agua, tv, telefono, almacen, farmacia, deporte, gastos varios, nafta, obra social, municipales, kiosko, etc, son varios pero seria un numero finito. Tambien me he dado cuenta que podria crear una clase que abarcaria tanto los ingresos como los egresos ya que todos ellos tienen los mismos atributos y metodos para implementar los cuales serian, la fecha en que se lleva la operación ya sea de algun ingreso o gasto, la identifacación, en el caso de los ingresos son 2 y de los gastos todos los nombrados arriba, el importe de cada operacion y no se si es necesario por ahora o mas adelante un detalle que puede ser ingresado o no, no seria tan importante. Luego cada ingreso y los distintos gastos serian guardados en arreglos individuales para cada ingreso y cada gasto para luego poder sumarlos y mostrar los totales de cada cosa, el control creo que se haria mensualmente, para mas adelante mejorar el codigo y poder hacer comparacion de mes a mes, ya me estoy complicando aca pero bueno seguro iran aparareciendo otras ideas otras cosas por hacer, no se que les parece lo expuesto, estoy errado? alguna ayuda, algo que me estoy olvidando de contemplar, gracias y sigo llenendo y haciendo anotaciones, saludos....

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Hacer un programa
« Respuesta #10 en: Lunes 25 de Octubre de 2010, 09:48 »
0
Cita de: "rmc"
Tambien me he dado cuenta que podria crear una clase que abarcaria tanto los ingresos como los egresos ya que todos ellos tienen los mismos atributos y metodos para implementar
Te aconsejaría que crearas una clase padre de la cual heredarían dos clases hijas ingresos y egresos, para así poder diferenciar unos de otros. Hacer una clase y ponerle como atributo algo que indique que es ingreso o egreso es peor y más lento.

Cita de: "rmc"
la identifacación
¿Tienes pensado en qué usar como ID? Siempre es mejor usar número y no cadenas, son más rápidos y ocupan menos memoria. Una opción interesante es usar constantes numéricas, tipo

Código: Java
  1. private final static int GASTO_LUZ = 0;
  2. private final static int GASTO_AGUA = 1;
  3. ...
  4.  

Cita de: "rmc"
no se si es necesario por ahora o mas adelante un detalle que puede ser ingresado o no
El origen/destino del ingreso/gasto sería un dato interesante a guardar. Tendría por ejemplo 2 campos: ID destino/origen, detalle destino/origen. Por ejemplo el ID sería un número constante, igual que la identificación arriba mencionada:

Código: Java
  1. private final static int DESTINO_CUENTA_BANCARIA = 0;
  2. private final static int DESTINO_EN_MANO = 1;
  3. ...
  4.  
Y el detalle sería una cadena, por ejemplo un número de cuenta en caso de DESTINO_CUENTA_BANCARIA o un nombre/DNI en caso de DESTINO_EN_MANO, o cualquier información adicional (aunque para ello usaría otro atributo "comentarios" por ejemplo).

Como consejo final, deberías plantearte seriamente usar una base de datos, ya que aunque no lo parezca, en poco tiempo tendrás una cantidad de datos bastante grande, los ficheros se harán cada vez más grandes y por tanto más lentos de manejar, aparte de más lentos para insertar, borrar o modificar. Te aconsejo MySQL, es libre, gratis y trabaja de lujo sobre bases de datos pequeñas (y no tan pequeñas).

rmc

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Hacer un programa
« Respuesta #11 en: Jueves 28 de Octubre de 2010, 20:40 »
0
Moskito como va, te paso la logica en pseudocodigo que pude armar:

Inicio

Elegir una opción_1
0 - Ingreso
1 - Egreso
2 - Salir

Si 0 entonces opcion_2
0 - RCOMP
1 - RNET
2 - Cancelar

   si 0 entonces cargarIngresoRcomp()
   sino si 1 entonces CargarIngresoRnet()
      sino si 2 entonces opcion_1
      sino mostra cartel de error de operacion y opcion_2


sino si 1 entonces
switch opcion

case 0 Luz       cargarEgresoLuz()      break
case 1 Agua       cargarEgresoAgua()      break
case 2 TV       cargarEgresoTv()      break
case 3 Telefono      cargarEgresoTelefono()      break
case 4 Municipales   cargaregresoMunicipales()   break
case 5 Almacen      cargarEgresoAlmacen()      break
case 6 Deporte      cargarEgresoDeporte()      break
case 7 Obra Social   cargarEgresoObraSocial()   break
case 8 Kiosko      cargarEgresoKiosko()      break
Case 9 Nafta      cargarEgresoNafta()      break   
Case 10 Gas      cargarEgresoGas()      break

default mostrar cartel con opcion erronea y vuelvo a opcion_1


sino si 2 entonces salgo del programa
sino mostrar cartel de error de operacion y opcion_1

opcion_1 condicional que me permite elegir entre hacer un Ingreso o Egreso o salir del programa

Opcion_2 condicional que me permite elegir entre cargar Ingreso de RCOMP o Cargar Ingreso de RNet

opcion_3 condicional switch case que me permite elegir que gasto cargar entre los muchos que hay ya predefinidos
(luz, agua, tv, telefono, municipales, almacen, deporte, obra social, kiosko, nafta, gas)




cargarIngresoRcomp() metodo que me permite cargar un ingreso de RCOMP(fecha, monto)

cargarIngresoRnet() metodo que me permite cargar un ingreso de RNET(fecha y monto)

CargarEgresos() metodos para cargar los egresos segun el el gasto elegido

Fin del Programa

Faltan cosas como las estructuras a utilizar y persistir los datos pero bueno estoy medio trabado aca dado que una cosa que no me doy cuenta es que nercesitaria usar, creo yo dos clases distintas de objetos, una donde corra la logica principal y otra serian los objetos Ingreso Egresos con lo cual no me doy cuenta si hacer una sola clase donde contenga todos los ingresos y egresos ya que tienen los mismo atributos y metodos o hacer una clase padre IngresoEgreso y que de esta deriven dos clases hijas Ingresos por un lado y Egresos por el otro, ademas tampoco me doy cuenta de que manera distinguir los ingresos que en este caso son 2 para los ingresos (RComp y RNet) y los egresos que son un poco mas (Luz, Agua, Gas, Municipalidad, Deporte, Almacen, Kiosko, Avicola, Obra Social, Nafta, etc); no logro darme cuanta como manejar esto ya que lo que se carga de cada uno de ellos es la fecha en que fue la operacion ya sea Ingreso o Egreso y el monto de la misma, gracias y saludos por la ayuda y las ideas...