Nombre: Aguilar Martinez Ivan
Boleta: 2023300112
Materia: Programación Orientada a Objetos
Maestro: Herrera Martínez Alejandro Escuela:
ESIME Zacatenco
Practica: 08 – Amistad
1. Descripción del problema.
El programa en C++ proporciona una estructura para gestionar información de
alumnos mediante clases. Define una clase base CPersona para representar datos
comunes como el nombre y la edad, y una clase derivada CAlumno que hereda de
CPersona y añade detalles específicos de los alumnos, como las calificaciones, la
escuela y el promedio. A través de métodos de captura y visualización de datos, así
como el cálculo del promedio, el programa permite al usuario ingresar información
para múltiples alumnos y luego muestra los datos de cada uno, incluido el alumno
con el promedio más alto. Además, se encarga de liberar la memoria dinámica
asignada al finalizar la ejecución.
2. Plantimiento del problema.
Salida. Proceso. Entrada.
// Se realiza el cálculo del int main() {
promedio y se imprimen los datos int nAlumnos;
// Se libera la cout << "Ingrese el número de
de cada alumno
memoria dinámica for (int i = 0; i < nAlumnos; i++) { alumnos: ";
asignada para el cin >> nAlumnos;
cout << "\nDatos del Alumno "
arreglo de alumnos << i + 1 << ":" << endl; CAlumno* alumnos = new
delete[] alumnos; alumnos[i].imprimirAlumno(); CAlumno[nAlumnos];
return 0; }
for (int i = 0; i < nAlumnos; i++) {
} // Se llama a la función que cout << "\nAlumno " << i + 1
encuentra el promedio más alto y << ":" << endl;
se muestra la salida alumnos[i].capturarNombre();
alumnos[i].capturarEdad();
obtenerPromedioMasAlto(alumnos, alumnos[i].capturarCalificaciones();
nAlumnos); // Capturamos las calificaciones
antes de calcular el promedio
alumnos[i].capturarEscuela();
alumnos[i].calcularPromedio(); //
Llamamos a calcularPromedio()
después de capturar las
calificaciones
}
3. Propuesta de Solució.
class CPersona {
private:
string nombre;
int edad;
public:
CPersona() : nombre(""), edad(0) {}
CPersona(const string& nombre, int edad) : nombre(nombre), edad(edad) {}
~CPersona() {}
void capturarNombre() {
cout << "Ingrese el nombre: ";
cin >> nombre;
4. Prueba de escritorio.
Ingrese el número de alumnos: 3
Alumno 1:
Ingrese el nombre: Juan
Ingrese la edad: 20
Ingrese la calificación 1: 10
Ingrese la calificación 2: 10
Ingrese la calificación 3: 10
Ingrese la escuela: IPN
Alumno 2:
Ingrese el nombre: Pedro
Ingrese la edad: 23
Ingrese la calificación 1: 6
Ingrese la calificación 2: 6
Ingrese la calificación 3: 10
Ingrese la escuela: IPN
Alumno 3:
Ingrese el nombre: Carlos
Ingrese la edad: 21
Ingrese la calificación 1: 8
Ingrese la calificación 2: 8
Ingrese la calificación 3: 8
Ingrese la escuela: IPN
Datos del Alumno 1:
Nombre: Juan
Edad: 20
Escuela: IPN
Calificación 1: 10
Calificación 2: 10
Calificación 3: 10
Promedio: 10
Datos del Alumno 2:
Nombre: Pedro
Edad: 23
Escuela: IPN
Calificación 1: 6
Calificación 2: 6
Calificación 3: 10
Promedio: 7.33333
Datos del Alumno 3:
Nombre: Carlos
Edad: 21
Escuela: IPN
Calificación 1: 8
Calificación 2: 8
Calificación 3: 8
Promedio: 8
El promedio más alto es: 10 y pertenece a: Juan
5. Codificacion o creación del programa.
https://onlinegdb.com/5F7wMws2N
6. Prueba de escritorio.
7. Comparación de resultados.
Los resultados de la prueba de escritorio y la ejecucion son iguales .
7. Observaciones y conclusiones.
En este programa, se observa un uso efectivo de la programación orientada a
objetos en C++, donde se modela la información de los alumnos a través de clases
y se implementan métodos para capturar, procesar y mostrar dicha información. Se
destaca la utilización de herencia para extender la funcionalidad de la clase base
CPersona en la clase derivada CAlumno. Además, se evidencia una correcta
gestión de la memoria dinámica con la utilización de punteros y la liberación de la
memoria al finalizar el programa. En conclusión, el programa ofrece una solución
estructurada y eficiente para el manejo de datos de alumnos, facilitando la captura
y presentación de información, así como el cálculo del promedio más alto entre los
alumnos ingresados.