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

CÓDIGO EN C++ DE HERENCIA, Ejercicios de Programación C

Código del ejercicio sobre personas del tema herencia

Tipo: Ejercicios

2022/2023

Subido el 06/06/2025

alee-roan
alee-roan 🇲🇽

1 documento

1 / 7

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Rocha Angeles Aleeza Dayte
Herencia Personas
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
class Persona {
private:
string nombre;
int edad;
string INE;
char sexo;
float peso;
float altura;
void generarINE() {
INE = to_string(rand() % 90000000 + 10000000);
}
public:
Persona() : nombre(""), edad(0), sexo('H'), peso(0.0), altura(0.0) {
generarINE();
}
Persona(string nombre, int edad, char sexo)
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga CÓDIGO EN C++ DE HERENCIA y más Ejercicios en PDF de Programación C solo en Docsity!

Rocha Angeles Aleeza Dayte Herencia Personas #include #include #include #include using namespace std; class Persona { private: string nombre; int edad; string INE; char sexo; float peso; float altura; void generarINE() { INE = to_string(rand() % 90000000 + 10000000); } public: Persona() : nombre(""), edad(0), sexo('H'), peso(0.0), altura(0.0) { generarINE(); } Persona(string nombre, int edad, char sexo)

: nombre(nombre), edad(edad), sexo(sexo), peso(0.0), altura(0.0) { generarINE(); } Persona(string nombre, int edad, char sexo, float peso, float altura) : nombre(nombre), edad(edad), sexo(sexo), peso(peso), altura(altura) { generarINE(); } int calcularIMC() { if (altura <= 0) return - 1; float imc = peso / (altura * altura); if (imc < 20) return - 1; else if (imc >= 20 && imc <= 25) return 0; else return 1; } bool esMayorDeEdad() { return edad >= 18; } void comprobarSexo(char nuevoSexo) { if (nuevoSexo == 'H' || nuevoSexo == 'M') sexo = nuevoSexo; else sexo = 'H'; }

float calcularSueldo() { return horasTrabajadas * pagoPorHora; } void imprimir() { Persona::imprimir(); cout << "Cargo: " << cargo << endl; cout << "Departamento: " << departamento << endl; cout << "Horas trabajadas: " << horasTrabajadas << endl; cout << "Pago por hora: " << pagoPorHora << endl; cout << "Sueldo: " << calcularSueldo() << endl; } }; class Estudiante : public Persona { private: string colegio; int semestre; public: Estudiante(string nombre, int edad, char sexo, string colegio, int semestre) : Persona(nombre, edad, sexo), colegio(colegio), semestre(semestre) {} void imprimir() { Persona::imprimir(); cout << "Colegio: " << colegio << endl; cout << "Semestre: " << semestre << endl; }

void imprimirRecomendacion(Persona& persona, int imc) { if (imc == - 1) cout << "Debe asistir con el nutriólogo para una dieta balanceada." << endl; else if (imc == 1) cout << "Debe iniciar un programa de entrenamiento." << endl; else cout << "IMC en rango saludable." << endl; } int main() { srand(time(0)); string nombre, cargo, departamento, colegio; int edad, horasTrabajadas, semestre; char sexo; float peso, altura, pagoPorHora; cout << "Ingrese nombre: "; cin >> nombre; cout << "Ingrese edad: "; cin >> edad; cout << "Ingrese sexo (H/M): "; cin >> sexo; cout << "Ingrese peso (kg): "; cin >> peso; cout << "Ingrese altura (m): "; cin >> altura;

cout << "Empleado:" << endl; empleado1.imprimir(); imprimirRecomendacion(empleado1, empleado1.calcularIMC()); cout << "Mayor de edad: " << (empleado1.esMayorDeEdad()? "Sí" : "No") << endl; cout << "Estudiante:" << endl; estudiante1.imprimir(); imprimirRecomendacion(estudiante1, estudiante1.calcularIMC()); cout << "Mayor de edad: " << (estudiante1.esMayorDeEdad()? "Sí" : "No") << endl; return 0; }