¿Cómo usar los Vectores, Listas o Arrays en C++?

vectores, listas o arrays

Los Vectores son listas que almacenan datos, o información sobre una clase en particular. Si tenemos un enunciado, podemos identificarlos de acuerdo al uso de los datos que nos dicen dentro del mismo; ejemplo: se necesita una lista de alumnos, clientes, pacientes; una lista con los números de cédula o pasaporte de los clientes de una aerolínea, quienes cancelaron mas del monto promedio, cuáles alumnos quedaron aplazados en una sección. En fin, tienen muchos usos y utilidad los vectores como parte de C++. 

A continuación veremos unos métodos dado un ejercicio los cuáles nos guiarán sobre el uso de los vectores. 



Cabe destacar, que la metodología que utilizaremos es la programación orientada a objetos. Hemos programado la clase MPaciente, MClinica, VClinica, Controlador y Principal. En la clase MPaciente, hemos programado los datos del paciente: motivo de la visita, turno, y monto cancelado; de la manera usual, para crear una clase, con los respectivos sets y gets. No hay cálculos en esta clase.

Debemos recordar, que los datos nombre y cédula se heredan de la clase MPersona.
Ahora en MClinica incluimos a la clase paciente como un vector, pues en las salidas nos piden un listado de paciente por consulta, dónde utilizaremos los métodos de incluir, buscar y size: acá veamos cómo queda:


Ahora para dar respuesta a la cantidad de pacientes atendidos por turnos, haremos los siguientes métodos:

Para saber cuál fue el monto recolectado por consulta o por hospitalización sólo debemos acumular el monto sólo si el motivo fue consulta o hospitalización respectivamente:

Como necesitamos saber cuál fue el mayor monto cobrado en las consultas y que nos muestre un listado de las cédulas que pagaron dicho monto, haremos dos métodos: el primero que calcule el mayor monto cobrado y el segundo que haga una comparación y guarde las cédulas que cancelaron dicho monto.


Ahora bien, hasta este momento estamos listos con respecto a los requerimientos de la práctica, pero ¿cómo haríamos si nos piden el monto promedio cobrado en relación a todos los pacientes atendidos? Debemos crear un acumulador que guarde todos los montos cobrados y los divida entre el size del vector de los pacientes, ya que el size nos da la cantidad de pacientes atendidos en total. Recordar que se debe validar que no exista la división entre cero puesto que nos daría un error.

Y si nos pidieran: ¿cual es el porcentaje de pacientes que cancelaron un monto mayor al promedio? Puesto que estamos trabajando en base a porcentaje, utilizaremos el método anterior para apoyarnos en la resolución de éste. Siempre verificando que la división no sea entre cero. Utilizaremos un contador de pacientes que cancelaron mas del monto promedio y lo multiplicamos por cien dado que es un porcentaje, para luego dividirlo entre la cantidad de pacientes atendidos, por medio del uso del size.

Si quisiéramos comparar cuál fue el motivo (consulta o hospitalización) con mayor monto recaudado, debemos crear un método que guarde los montos de hospitalización (puesto que ya está hecho el método de consulta) y luego otro método que compare ambos montos y retorne un string con la respuesta; tomando en cuenta que puede ser iguales los montos obtenidos.

Si quieren ver cómo funcionan todos los métodos ensamblados aquí les dejo:

El programa con los requerimientos netos de la práctica: Clinica
El programa con las sugerencias adicionales: Clinica con Requerimientos

Libros Recomendados:
Si te ha sido útil este contenido, puedes guardarlo en Pinterest!
.




Comentarios

Entradas populares de este blog

[UPDATE 2020: APPNANA SCAM] AppNana Invitation Codes AppNana Códigos de Invitación

#diy Encender Celular Sin Batería

Ejercicios Resueltos de c++ para Principiantes