Buscar este blog

Mostrando entradas con la etiqueta vector. Mostrar todas las entradas
Mostrando entradas con la etiqueta vector. Mostrar todas las entradas

jueves, 23 de abril de 2020

Diseño 2

2. Creación de clases a partir de análisis

En el tema anterior vimos las pautas de seguir para descomponer un programa como una serie de clases que se relacionan entre sí. Sin embargo, para el programa de la agenda una descomposición en clases sería muy forzada debido a la poca complejidad del programa.

Pero se puede optar por separar la parte visual (aplicación principal) y la parte lógica (lista de personas) para reutilizar la mayor cantidad posible de código por si se creara otra versión del programa en el entorno gráfico o con otra interfaz. Para ello es posible crear una clase lista de personas que cargue y guarde datos permitiendo el acceso a ellos. Así los datos pasarían de se un struct a una clase con los mismos campos pero con métodos que permitieran obtener y fijar los valores de los campos al igual que simplificar la búsqueda.



Aquí os dejo un vídeo sobre como se podría hacer lo explicado anteriormente.

martes, 21 de abril de 2020

Diseño


1. Decisión de tarea a partir del análisis
Una vez analizados los requisitos que debe cumplir el programa, debemos decidir la estructura que llevará el programa. El programa propuesto de agenda de contactos es un programa simple y la estructura podría ser:
  •  Cada dato se almacena en un struct para guardar todos los datos deseados, los struct individuales se almacenarán en un vector
Las funciones del programa serían:
  • mostrar  menú: muestra las opciones disponibles conforme al prototipo ya realizado.
  • nuevaFicha: pide los datos de una nueva persona  y los añade a la lista.
  • verFichas: muestra la primera ficha y con las teclas se podrá elegir entre ver la ficha posterior, la interior, modificar la actual o borrarla.
  • modificar: pide los campos de la ficha, en los parámetros que se desee cambiar se volverá a escribir texto, sino basta con pulsar intro.
  • intentarBorrar: solicita confirmación para borrar datos, si el usuario la acepta se borrará.
  • buscarTexto: pide el texto que se desea buscar y muestra las fichas que lo contienen. Al mostrar la ficha resumen da la opción de mostrarla desarrollada, continuar consultando otras o volver al menú.
  • buscarCumpleMes: muestra fechas, nombres y apellidos de las personas que cumplen años en un cierto mes
  • guardar: vuelca todos los datos a fichero, reemplazando el contenido anterior de dicho fichero. Se debe llamar antes de salir del programa, para que los datos queden almacenados e. También es posible guardar los datos tras cada modificación.
  • cargar: lee todos los datos del fichero. Se llama automáticamente al comenzar el programa