SoloCodigo

Programación General => C/C++ => Visual C++ => Mensaje iniciado por: ELDAMI en Martes 18 de Noviembre de 2008, 18:22

Título: Planilla de calculo en C++
Publicado por: ELDAMI en Martes 18 de Noviembre de 2008, 18:22
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
Título: Re: Planilla de calculo en C++
Publicado por: m0skit0 en Martes 18 de Noviembre de 2008, 20:03
¿Qué es exactamente lo que quieres saber cómo hacer? Excel tiene muchas cosas. Vayamos por partes...
Título: Re: Planilla de calculo en C++
Publicado por: ELDAMI en Martes 18 de Noviembre de 2008, 20:49
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.
Título: Re: Planilla de calculo en C++
Publicado por: m0skit0 en Martes 18 de Noviembre de 2008, 21:57
¿Cómo pretendes hacer el ingreso? Ponte algo de código...
Título: Re: Planilla de calculo en C++
Publicado por: ELDAMI en Martes 18 de Noviembre de 2008, 23:04
Algo así tengo, te los adjunto.
Gracias.
Saludos.
Título: Re: Planilla de calculo en C++
Publicado por: m0skit0 en Miércoles 19 de Noviembre de 2008, 09:06
Entonces vayamos a lo que te falta por hacer. ¿Qué es lo que no comprendes cómo hacer?
Título: Re: Planilla de calculo en C++
Publicado por: ELDAMI en Miércoles 19 de Noviembre de 2008, 13:33
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.
Título: Re: Planilla de calculo en C++
Publicado por: m0skit0 en Miércoles 19 de Noviembre de 2008, 13:50
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?
Título: Re: Planilla de calculo en C++
Publicado por: ELDAMI en Miércoles 19 de Noviembre de 2008, 14:26
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...
Título: Re: Planilla de calculo en C++
Publicado por: m0skit0 en Miércoles 19 de Noviembre de 2008, 16:00
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.
Título: Re: Planilla de calculo en C++
Publicado por: ELDAMI en Viernes 21 de Noviembre de 2008, 04:09
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--
Título: Re: Planilla de calculo en C++
Publicado por: m0skit0 en Viernes 21 de Noviembre de 2008, 10:42
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)
Título: Re: Planilla de calculo en C++
Publicado por: ELDAMI en Viernes 21 de Noviembre de 2008, 13:02
Por supuesto,
voy a tratar de adelatar algo.

Gracias.
saludos.