Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Programación II: Herencia en C++ - Universidad Militar Nueva Granada, Ejercicios de Programación C

Un ejercicio práctico de programación en c++ que ilustra el concepto de herencia. Se define una clase base 'estudiante' y dos clases derivadas 'presencial' y 'distancia', representando diferentes modalidades de estudio. El ejercicio involucra la creación de clases, constructores, destructores, instanciamiento y herencia, con el objetivo de calcular la nota definitiva de un estudiante según su modalidad.

Tipo: Ejercicios

2022/2023

Subido el 18/11/2024

camila-andrea-bermudez-chavarro
camila-andrea-bermudez-chavarro 🇨🇴

4 documentos

1 / 7

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Programación II Herencia Página 1
UNIVERSIDAD MILITAR NUEVA GRANADA
DEPARTAMENTO DE TECNOLOGÍAS DEL CONOCIMIENTO
PROGRAMACIÓN II
HERENCIA
Elaborar un programa en C++, que permita obtener la nota definitiva de un estudiante,
teniendo en cuenta lo siguiente:
1. Existen dos clases de estudiantes según la modalidad de su metodología: presencial y
virtual.
2. Los estudiantes de la modalidad presencial obtienen su nota definitiva así: promedio
de su nota del examen y los trabajos; los estudiantes de la modalidad virtual obtienen su
nota definitiva así: promedio de la nota tareas y proyecto.
3. Para la resolución del ejercicio aplicar el concepto de:
a. Creación de las clases con su librería propia.
b. Constructor vacío, con parámetros y destructores.
c. Instanciamiento.
d. Herencia
4. Al ejecutar el programa se debe solicitar a qué tipo de modalidad pertenece el
estudiante y mostrar la nota definitiva.
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Programación II: Herencia en C++ - Universidad Militar Nueva Granada y más Ejercicios en PDF de Programación C solo en Docsity!

UNIVERSIDAD MILITAR NUEVA GRANADA

DEPARTAMENTO DE TECNOLOGÍAS DEL CONOCIMIENTO

PROGRAMACIÓN II

HERENCIA

Elaborar un programa en C++, que permita obtener la nota definitiva de un estudiante,

teniendo en cuenta lo siguiente:

1. Existen dos clases de estudiantes según la modalidad de su metodología: presencial y

virtual.

2. Los estudiantes de la modalidad presencial obtienen su nota definitiva así: promedio

de su nota del examen y los trabajos; los estudiantes de la modalidad virtual obtienen su

nota definitiva así: promedio de la nota tareas y proyecto.

3. Para la resolución del ejercicio aplicar el concepto de:

a. Creación de las clases con su librería propia.

b. Constructor vacío, con parámetros y destructores.

c. Instanciamiento.

d. Herencia

4. Al ejecutar el programa se debe solicitar a qué tipo de modalidad pertenece el

estudiante y mostrar la nota definitiva.

Estudiante.h #ifndef _ESTUDIANTE_H #define _ESTUDIANTE_H #include #include using namespace std; class Estudiante { protected: string nombre; string codigo; public: Estudiante(); Estudiante(string pnombre, string pcodigo); ~Estudiante(); void setnombre(string pnombre); void setcodigo(string pcodigo); string getnombre(); string getcodigo(); }; #endif -------------------------------------//--------------------------------------------- //---- Estudiante.cpp #include "Estudiante.h" Estudiante::Estudiante() { nombre = ""; codigo = ""; } Estudiante::Estudiante(string pnombre, string pcodigo) { nombre = pnombre; codigo = pcodigo; } Estudiante::~Estudiante() { } void Estudiante::setnombre(string pnombre) { nombre = pnombre; } void Estudiante::setcodigo(string pcodigo) { codigo = pcodigo; } string Estudiante::getnombre() { return nombre;

examen = pexamen; } double Presencial::gettrabajos() { return trabajos; } double Presencial::getexamen() { return examen; } -------------------------------------//--------------------------------------------- //---- Distancia.h #ifndef _DISTANCIA_H #define _DISTANCIA_H #include "Estudiante.h" class Distancia : public Estudiante { private: double tareas; double proyecto; public: Distancia(); Distancia(string pnombre, string pcodigo, double ptareas, double pproyecto); ~Distancia(); void settareas(double ptareas); void setproyecto(double pproyecto); double gettareas(); double getproyecto(); }; #endif -------------------------------------//--------------------------------------------- //---- Distancia.cpp #include "Distancia.h" Distancia::Distancia() :Estudiante() { tareas = 0; proyecto = 0; } Distancia::Distancia(string pnombre, string pcodigo, double ptareas, double pproyecto) : Estudiante(pnombre, pcodigo) { tareas = ptareas; proyecto = pproyecto; }

Distancia::~Distancia() { } void Distancia::settareas(double ptareas) { tareas = ptareas; } void Distancia::setproyecto(double pproyecto) { proyecto = pproyecto; } double Distancia::gettareas() { return tareas; } double Distancia::getproyecto() { return proyecto; } -------------------------------------//--------------------------------------------- //---- Registro.h #ifndef _REGISTRO_H #define _REGISTRO_H #include "Estudiante.h" class Registro { private: string tipo; public: Registro(); Registro(string ptipo); ~Registro(); void settipo(string ptipo); string gettipo(); void DefinitivaPresencial(double trabajos, double examen); void DefinitivaDistancia(double tareas, double proyectos); }; #endif -------------------------------------//--------------------------------------------- //---- Registro.cpp #include "Registro.h" Registro::Registro() { tipo = ""; } Registro::Registro(string ptipo) {

cout << "Ingrese Nota Trabajos: "; cin >> vtrabajos; cout << "Ingrese Nota Examen: "; cin >> vexamen; Presencial ObjPre(vnombre, vcodigo, vtrabajos, vexamen); ObjReg.DefinitivaPresencial(vtrabajos, vexamen); } else { if (vtipo == "distancia" || vtipo == "Distancia") { cout << "Ingrese nota tareas: "; cin >> vtareas; cout << "Ingrese nota proyecto: "; cin >> vproyecto; Distancia ObjDis(vnombre, vcodigo, vtareas, vproyecto); ObjReg.DefinitivaDistancia(vtareas, vproyecto); } } cout << endl; system("pause"); }