martes, 28 de junio de 2011

Ejercicios de programación orientada a objetos con C++







1.- Descarga el instalador de la librería Winbgim para Dev C++ y ejecútalo (asegúrate de que la versión de tu compilador es la 4.9.9.2). El compilador no debe estar abierto durante la instalación. Esta librería nos dará soporte para gráficos.

2.- Descarga el proyecto Figuras.dev y ábrelo en tu compilador.

3.- Revisa y prueba el código de ejemplo que aparecen en el archivo main.cpp para hacerte una idea sobre el funcionamiento de la clase Ventana para manejar el entorno gráfico y de las distintas clases que representan figuras geométricas.

4.- Crea una clase Cuadrado para representar dicha figura geométrica. ¿Dónde la colocarías en la jerarquía de herencia de las figuras? Dibuja en pantalla un cuadrado azul relleno de rojo de coordenadas (100,100) para el vértice superior izquierdo y (200,200) para el vértice inferior derecho.

5.- Crea un constructor de la clase Cuadrado que en vez de tomar dos de sus vértices, tome la coordenada del centro y la longitud en pixels del lado.

6.- Crea un método moverHorizontal(int distancia) y otro moverVertical(int distancia) que permita mover cualquier tipo de figura en la pantalla a una cierta distancia en pixels desde la posición en la que se encuentra.

SOLUCIÓN: En este proyecto modificado, además de ver cómo resolver el problema del desplazamiento y del cuadrado, podrás aprender a arrastrar figuras concretas con el ratón mediante el reconocimiento automático de si el puntero está encima de una figura en particular al empezar a presionar el botón izquierdo.


7.- Crea una clase LineaPoligonal y otra LineaPoligonalCerrada. Ambas clases almacenarán las coordenadas de varios puntos consecutivos que gráficamente se unen mediante líneas rectas. La única diferencia entre ellas es que la LineaPoligonalCerrada une el primer punto con el último mediante una recta mientras que la LineaPoligonal no ofrece tal posibilidad; es abierta. Dibuja un par de estas líneas para probar su correcta implementación.


SOLUCIÓN

8.- Sobrecarga el operador de suma para que al sumar un número a un rectángulo aumente tanto su alto como su ancho en dicha cantidad.

9.- Ídem al punto anterior pero con el operador de multiplicación.

10.- Crea una función amiga que compare dos rectas. Dos rectas son iguales si tienen la misma longitud y la misma inclinación, aunque ocupen distintas posiciones.

11.- Crea una función area() que devuelva el área de las distintas figuras (el área de la recta será cero).

12.- Crea una función independiente que tome como entrada un vector de figuras de cualquier tipo y sume sus áreas.

13.- Habilita un atributo estático que contabilice el número total de figuras creadas durante la ejecución de un programa.

14.- Implementa un método que nos diga si un rectángulo está completamente dentro de otro.

15.- Utilizando figuras geométricas y el entorno gráfico desarrolla el popular juego del ahorcado con un grafismo similar al que se muestra a continuación. Cada letra no acertada de la palabra oculta hará que se dibuje un trazo hasta completar el dibujo del ahorcado (el jugador pierde) o hasta que el usuario acierte la palabra (el jugador gana). Visualiza en todo momento los intentos que quedan, las letras acertadas y su posición relativa en la palabra oculta.

SOLUCIÓN





No hay comentarios:

Publicar un comentario