• Lunes 29 de Abril de 2024, 11:21

Autor Tema:  Planilla de calculo en C++  (Leído 3708 veces)

ELDAMI

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Planilla de calculo en C++
« en: Martes 18 de Noviembre de 2008, 18:22 »
0
Hola, me estoy desesperando, me piden en la facu, hacer una planilla de calculo como el excel, en C++. Tengo clases Planillas, Celdas que a su vez de ésta heredan CeldaNumero (109), CeldaFormula (=) y CeldaTexto (hola), Interfases, etc...
A alguien se le ocurre como puede ser, me pueden dar una mano, se los agradeceré muchisimo...

Gracias.
SAludos.

Dami

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Planilla de calculo en C++
« Respuesta #1 en: Martes 18 de Noviembre de 2008, 20:03 »
0
¿Qué es exactamente lo que quieres saber cómo hacer? Excel tiene muchas cosas. Vayamos por partes...

ELDAMI

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Planilla de calculo en C++
« Respuesta #2 en: Martes 18 de Noviembre de 2008, 20:49 »
0
Gracias por tu respuesta amigo !!!
Lo que quiero es: tengo una matriz de 100*100 (filas ,columnas), que se encuentra en la Clase Planilla, luego tengo la Clase Celda, que tiene un puntero a Planilla y ésta a su vez a Celda. De la clase Celda se derivan ClaseNumero, ClaseTexto y ClaseFormula.

El usuario puede ingresar un numero, un texto o una formula. Si ingresa 10 es numero, si ingresa 'hola' es texto, y si me ingresa un =, es formula (éste es el más complicado).
Esto en grande rasgos... despues si me ayudas, te sigo comentando más cosas...

Gracias.
Saludos.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Planilla de calculo en C++
« Respuesta #3 en: Martes 18 de Noviembre de 2008, 21:57 »
0
¿Cómo pretendes hacer el ingreso? Ponte algo de código...

ELDAMI

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Planilla de calculo en C++
« Respuesta #4 en: Martes 18 de Noviembre de 2008, 23:04 »
0
Algo así tengo, te los adjunto.
Gracias.
Saludos.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Planilla de calculo en C++
« Respuesta #5 en: Miércoles 19 de Noviembre de 2008, 09:06 »
0
Entonces vayamos a lo que te falta por hacer. ¿Qué es lo que no comprendes cómo hacer?

ELDAMI

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Planilla de calculo en C++
« Respuesta #6 en: Miércoles 19 de Noviembre de 2008, 13:33 »
0
Nosé bien como hacer para relacionar la clase Celda con Planilla, por ejemplo. Y luego la parte de CeldaFormula, me quemo la cabeza ...

Muchas gracias por la atención.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Planilla de calculo en C++
« Respuesta #7 en: Miércoles 19 de Noviembre de 2008, 13:50 »
0
Cita de: "ELDAMI"
Nosé bien como hacer para relacionar la clase Celda con Planilla
Según lo que he visto, una planilla tiene una máximo de 100x100 celdas. Y toda celda está en una planilla. Ya los tienes relacionados.

Cita de: "ELDAMI"
Y luego la parte de CeldaFormula, me quemo la cabeza ...
¿Qué formato tienen las fórmulas?

ELDAMI

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Planilla de calculo en C++
« Respuesta #8 en: Miércoles 19 de Noviembre de 2008, 14:26 »
0
Cuando en el ingreso , en el switch, hay un =, esto quiere decir que es una formula, por lo que nos explicaron la formula va a tener dos valores y el operador (+, -, *, /), que tendrías que hacerlo por lo que se llama notación polaca, que en resumen es: tengo una pila, ingreso las dos coordenadas (por ej: A5, B3, +), lo que hace es sumar A5+B3.
Nosé si te referías a eso con tu pregunta...

Se va entendiendo lo que me piden ??  es bastante complejo no??

Muchas gracias nuevamente.
Saludos...

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Planilla de calculo en C++
« Respuesta #9 en: Miércoles 19 de Noviembre de 2008, 16:00 »
0
Vale, tampoco es tan complicado. Supongo que las celdas se referirán a la planilla en que se encuentre la fórmula.

Primero, yo que tú convertiría las nomenclatura de las celdas en un punto de coordenada, que nos indica qué posiciones de la matriz *pla de la Planilla estamos accediendo. Esto es, A5 sería (1,5) (columna, fila).

Segundo, tienes que meter el contenido de la fórmula en la pila. Esto es sencillo visto que ya sabes cómo detectar la fórmula y tienes la pila implementada (aunque no me convence el tipo de datos de la pila). Debes insertar primero la operación y luego los operandos (el contenido de las celdas a operar).

Finalmente, ejecutas la operación almacenada en la pila. Guardas el valor de la primera celda en una variable, idem con el segundo y finalmente aplicas la operación que corresponda a ambas.

P.D: no he considerado el hecho de que una de las celdas a operar contenga a su vez una fórmula.

ELDAMI

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Planilla de calculo en C++
« Respuesta #10 en: Viernes 21 de Noviembre de 2008, 04:09 »
0
Muchas gracias por tu tiempo, y si tenes ganas y te animas, podrías escribirte algo de código, tal vez asi pueda avanzar con este TP..
De donde sos? como te llamas? asi no pienso que estoy intercambiando mensajes con un "desconocido" por lo menos.

Saludos, que estés bien--

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Planilla de calculo en C++
« Respuesta #11 en: Viernes 21 de Noviembre de 2008, 10:42 »
0
Cita de: "ELDAMI"
y si tenes ganas y te animas, podrías escribirte algo de código
Creo que la mejor forma es que escribas el código y vamos viéndolo juntos. Así es como se aprende ^_^

Cita de: "ELDAMI"
De donde sos? como te llamas? asi no pienso que estoy intercambiando mensajes con un "desconocido" por lo menos.
Desde luego conocidos no somos, jejeje. Me llamo Yasin y mi procedencia está bastante clara, ¿no crees?  B)

ELDAMI

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Planilla de calculo en C++
« Respuesta #12 en: Viernes 21 de Noviembre de 2008, 13:02 »
0
Por supuesto,
voy a tratar de adelatar algo.

Gracias.
saludos.