UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN Facultad de Ingeniería FAIN Escuela Profesional de Ingeniería en Informática y Sistemas Programación Avanzada - II semestre – 2018 Laboratorio: Funciones Virtuales y Polimorfismo DOCENTE: Ing. Hugo Manuel Barraza Vizcarra ESTUDIANTE: Ian Nathaniel Zarate Romero 2015 –11007
Ejercicio 1
#include
#include #include class Figuras { protected: char identificar[25]; float area, x, y; int fig; public: virtual void Calcular_Area() {}; virtual void Dibujar_Figura(); virtual void Identificar(); }; void Figuras::Dibujar_Figura() { cout<<" No hay dibujo disponible..."<
base=b; altura=a; strcpy(identificar,"Triangulo"); } void Triangulo::Calcular_Area() { area=((base*altura)/2); } void Triangulo::Dibujar_Figura() { cout<<" * "<>fig; do { if(fig!=4) { cout<<"Ingrese las medidas:"<>a; cout<<"Medida de la Diagonal Menor: "; cin>>b; }
else { cout<<"Ingrese la Altura: "; cin>>a; cout<<"Ingrese la Base: "; cin>>b; } } Rectangulo Rec(b,a); Triangulo Tri(b,a); Rombo Rom(b,a); switch(fig) { case 1: Rec.Calcular_Area(); Rec.Identificar(); Rec.Dibujar_Figura(); break; case 2: Tri.Calcular_Area(); Tri.Identificar(); Tri.Dibujar_Figura(); break; case 3: Rom.Calcular_Area(); Rom.Identificar(); Rom.Dibujar_Figura(); break; case 4: cout<<"Cerrando"< 4 || fig < 0); if(fig!=4) { cout<<"¿Desea seguir usando el p rograma?"<>fig; fig=fig+2; } if(fig==4) system("PAUSE > nul"); } while(fig!=4); }
CAPTURA
Ejercicio 2 #include #include #include #include class Biblioteca { protected: int r; public: virtual void Insertar_Datos() {}; virtual void Mostrar_Datos(char *) {}; }; class Libros:public Biblioteca { protected: char Libro[100], Autor[100], Fecha[30],Nombre[100]; int Paginas; public: void Insertar_Datos(); void Mostrar_Datos(char *); }; void Libros::Insertar_Datos() { cout<<"Indroduzca el Nombre del Libro: "<>Libro; cout<<"Digite el Nombre del Autor del Libro: "<>Autor; cout<<"Digite la Fecha de Publicacion: "<>Fecha; cout<<"Digite Numero de Paginas: "<>Paginas; } void Libros::Mostrar_Datos(char *Nomb) { strcpy(Nombre,Nomb); r=strcmp(Nombre,Libro); if(r==0) { cout<<"Nombre del Libro: "<>Revista; cout<<"Digite el Nombre del Autor del Revista: "<>Autor; cout<<"Digite la Fecha de Publicacion: "<>Fecha; cout<<"Digite Numero de Paginas: "<>Paginas; } void Revistas::Mostrar_Datos(char *Nomb) { strcpy(Nombre,Nomb); r=strcmp(Nombre,Revista); if(r==0) { cout<<"Nombre del Revista: "<
char Articulo[100], Autor[100], Fecha[30],Nombre[100]; int Paginas; public: void Insertar_Datos(); void Mostrar_Datos(char *); }; void Articulos::Insertar_Datos() { cout<<"Indroduzca el Nombre del Articulo: "<>Articulo; cout<<"Digite el Nombre del Autor del Articulo: "<>Autor; cout<<"Digite la Fecha de Publicacion: "<>Fecha; cout<<"Digite Numero de Paginas: "<>Paginas; } void Articulos::Mostrar_Datos(char *Nomb) { strcpy(Nombre,Nomb); if(strcmp(Nombre,Articulo)==0) { cout<<"Nombre del Articulo: "<>op; switch(op) { case 1: do { cout<<"Dato a Ingresar:"<>di; switch(di) { case 1: Lb[i].Insertar_Datos(); break; case 2: Rv[i].Insertar_Datos(); break; case 3: At[i].Insertar_Datos(); break; default: cout<<"Opcion Ingresada No Valida."<>di; switch(di) { case 1: cout<<"Nombre del Libro: "; cin>>Nb; system("CLS"); for(j=0;j
cout<<"Nombre del Revista: "; cin>>Nb; system("CLS"); for(j=0;j>Nb; system("CLS"); for(j=0;j>op; op=op+1; } else { system("PAUSE >nul"); } system("CLS"); } while(op!=3); getch(); }
CAPTURAS