Sie sind auf Seite 1von 7

1/7

GUIA DE LABORATORIO Nº 8

PROGRAMACION ORIENTADA AL OBJETO


OBJETIVOS
Al finalizar la presente practica, el estudiante será capaz de poder definir una clase
con sus respectivos datos y funciones miembros, para finalmente crear objetos y
realizar la programación POO.

Ejem 1.

#include <iostream>
using namespace std;
//Declarando la clase
class cuadrado
{ public:
void inicio(float a) {lado=a;}
double area() {return lado*lado;}
double perimetro() {return 4*lado;}
double semiperimetro(){return perimetro()/2.0;}
private:
float lado;
};

void Leer(loat &n)


{ cout “Ingrese un numero:”;
cin>>n;
}
//Programa principal
int main()
{ cuadrado x; // x es objeto de la clase cuadrado
flota a;
Leer(a);
x.inicio(a);
cout << "Area : " << x.area() << endl;
cout << "Perimetro : " << x.perimetro() << endl;
cout << "Semiperimetro: "<<x.semiperimetro() << endl;
}

Ejem 2.
#include <iostream>
using namespace std;
// Declarando una clase
class TipoRecta
{ private:
float x1,x2,y1,y2,m1,m2;

Prof.:Ing. Felix Huari E. Algoritmos y Programación


2/7

public:
void Lectura();
void Pendiente(int);
void VerEcuacion();
int VerificaTipoRecta();
};

//Definicion de las funciones miembro de la clase


void TipoRecta::Lectura()
{
cout<<"Coordenada de eje x1:";cin>>x1;
cout<<"Coordenada de eje y1:";cin>>y1;
cout<<"Coordenada de eje x2:";cin>>x2;
cout<<"Coordenada de eje y2:";cin>>y2;
}

void TipoRecta::Pendiente(int i)
{
if(i==0)
m1=(y2-y1)/(x2-x1);
else
m2=(y2-y1)/(x2-x1);
}

void TipoRecta::VerEcuacion()
{
cout<<"\nLa Recta es:(Y-"<<y1<<")="<<m1<<"(X-"<<x1<<")"<<endl;
}

int TipoRecta::VerificaTipoRecta()
{
if(m1==m2)
return 0;
else if(m1*m2==-1)
return 1;
else
return 2;
}

//Programa principal
int main()
{ TipoRecta P;
int k;
cout<<"DATOS PARA LA RECTA L1\n";
P.Lectura();
P.Pendiente(0);
P.VerEcuacion();

Prof.:Ing. Felix Huari E. Algoritmos y Programación


3/7

cout<<"DATOS PARA LA RECTA L2\n";


P.Lectura();
P.Pendiente(1);
P.VerEcuacion();
k=P.VerificaTipoRecta();
if(k==0)
cout<<"L1 y L2 son paralelas\n";
else if(k==1)
cout<<"L1 y L2 son perpendiculares\n";
else
cout<<"L1 y L2 no son paralelas ni perpendiculares\n";
}

Ejem 3
#include <iostream>
using namespace std;
//Muestra el uso de las funciones set y get
//Declarando la clase
class punto
{ private:
int x;
int y;
public :
void setX(int); //establecer coordenada X
void setY(int); //establecer coordenada Y
int getX(); // devolver coordenada X
void getY(int &t); // devolver coordenada Y
};// Fin de la clase

//Definiendo las funciones miembros


//Definiendo la funcion miembro setX
void punto :: setX(int a)
{ x = a;
}
//Definiendo la funcion miembro setY
void punto :: setY(int b)
{ y = b;
}
//Definiendo la funcion miembro getX
int punto::getX()
{ return x;
}

//Definiendo la funcion miembro getY


void punto::getY(int &t)
{ t=y;
}

Prof.:Ing. Felix Huari E. Algoritmos y Programación


4/7

void Lectura(int &x, int &y)


{ cout<<”Ingrese las cordenada de un punto (a,b):”;
cin>>x>>y;
}
//Progrma principal
int main()
{ punto p; // creando el objeto punto
int a, b,c;
Lectura(a,b)
p.setX(a);
p.setY(b);
p.getY(c)
cout<<"La coordenada es P(“<<p.getX()<<”,”<<c<<”)”<< endl;
}

Ejem 4.
#include <iostream>
using namespace std;
#define BIRTH “Feliz Cumpleaños…..”
// un ejemplo sencillo de una clase
class Dia
{ public:
void CapturaDatos();
void print();
int GetDia();
int GetMes();
private:
int mes;
int dia;
};// Fin de la clase

void Dia :: print() // Definicion de la funcion miembro print


{ cout<<" mes = "<<mes<<" dia = "<<dia<<endl;
}

int Dia::GetDia()
{ return dia;
}

int Dia::GetMes()
{ return mes;
}

void Dia::CapturaDatos()
{ cout<<"Ingrese el dia de hoy "; cin>>dia;
cout<<"Ingrese el dia de mes "; cin>>mes;
}

Prof.:Ing. Felix Huari E. Algoritmos y Programación


5/7

//Programa principal
int main()
{ Dia hoy, happy; // objetos de la clase Dia
cout<<"Ingrese el dia y mes actual:";
hoy.CapturaDatos();
cout<<"Ingrese el dia y mes de su cumpleaños ";
happy.CapturaDatos();
cout<<"El dia de hoy es: ";hoy.print();
cout<<"El dia de su cumpleaños es: "; happy.print();
if (hoy.GetDia() == happy.GetDia() && hoy.GetMes() == happy.GetMes())
cout<<BIRTH<<endl;
else
cout<<"Que tengas un lindo dia.....\n"<<endl;
}

Prof.:Ing. Felix Huari E. Algoritmos y Programación


6/7

PROBLEMAS PROPUESTOS

1. Escribir un programa que permita implementar la clase llamada Number, de tal


manera que se pueda escribir un número en letras y luego en numeración
romana.
Number
Numero
Letras[80]
EnRom[80]

VerNumeroLetras()
VerNumeroRomano()
GeneraNumeroLetras()
GeneraNumeroRomano()

2. Escribir un programa que permita realizar la operaciones básicas con 2


matrices que almacenan números enteros. Las operaciones a consignar son la
suma, resta , transpuesta. Para ello debemos ingresar el orden de la matriz.

Matrices
n, m
A[N][M], B[N][M],S[N][M]
R[N][M],T[N][M]

Suma()
Resta()
Transpuesta()
VerMatriz()
3. Una empresa tiene una fuerza de ventas de N vendedores, y por cada
vendedor se ingresan los siguientes datos codigo, apellidos, nombres, las
ventas diarias hechas (5 dias), se pide implementar un programa usando una
clase para realizar lo siguiente:
 Escribir los datos de los N vendedores incluido las ventas totales
semanal.
 Escribir los datos de los N vendedores incluido las ventas totales diarias
 Escribir los datos ordenados alfabéticamente
 Escribir los datos ordenados por las ventas totales semanales.

Prof.:Ing. Felix Huari E. Algoritmos y Programación


7/7

DatoAlumno
m,n
Cod[8]
Ape[25]
Nom[25]
Ventas[N][M]

CapturaDatos()
VtaTotalSemanal()
VtaTotalDiaria()
OrdenaAlfa()
OrdenaTotalSemanal()
VerListadoInicial()
VerListadoFinal()

4. Implementar una clase llamada TipoNumero, de tal manera que pueda


verificar si es un número es primo, es un número perfecto, capicúa. Diseñe la
clase e incluya los datos y funciones miembro necesarios para posteriormente
escribir el programa.
5. Implementar un programa que permita validar la fecha, para ella defina una
clase llamada Fecha con los datos y funciones miembros necesarios. Además
el programa debe mostrar la fecha del día siguiente.
6. Implementar una clase llamada TarjetaBingo, de tal manera que genere una
cartilla de bingo, los números del bingo deben estar comprendido entre 1 y 50.
Incluir los datos y funciones miembros necesarios.
7. Implementar un programa utilizando clases de tal manera que simule una hoja
del Excel (primera pantalla), de tal manera que al pulsar las teclas
direccionales se desplace el puntero de celda. Si estamos en la celda A1 al
pulsar flecha arriba o flecha a izquierda no debe avanzar el puntero de celda.
Considere las funciones y datos necesarios.

Prof.:Ing. Felix Huari E. Algoritmos y Programación

Das könnte Ihnen auch gefallen