Adsence

viernes, 15 de julio de 2011

COORDENADAS

Leave a Comment
[caption id="attachment_1006" align="aligncenter" width="669"]DISEÑE UN PROGRAMA EN C++ QUE PERMITA CONSTRIR DOS CLASES LLAMADAS COOR_REC Y COORD_POL. LA CLASE DENOMINADA COORD_REC DEBE CONTENER DOS MIEMBROS DE DATOS EN PUNTO FLOTANTE CON LOS NOMBRES VAL X E VALY, UQE HAN DE UTILIZARSE PARA ALMACENAR LOS VALORES X Y Y DE UN PUNTO DE COORDENADAS RECTANGULARES. LOS MIEMBROS FUNCION DEBEN INCLUIR EL CONSTRUCTOR APROPIADO Y LAS FUNCIONES DE DESPLIEGUE, JUNTO CON UNA FUNCION AMIGA DENOMINADA CONV_POL(). DISEÑE UN PROGRAMA EN C++ QUE PERMITA CONSTRIR DOS CLASES LLAMADAS COOR_REC Y COORD_POL. LA CLASE DENOMINADA COORD_REC DEBE CONTENER DOS MIEMBROS DE DATOS EN PUNTO FLOTANTE CON LOS NOMBRES VAL X E VALY, UQE HAN DE UTILIZARSE PARA ALMACENAR LOS VALORES X Y Y DE UN PUNTO DE COORDENADAS RECTANGULARES. LOS MIEMBROS FUNCION DEBEN INCLUIR EL CONSTRUCTOR APROPIADO Y LAS FUNCIONES DE DESPLIEGUE, JUNTO CON UNA FUNCION AMIGA DENOMINADA CONV_POL().[/caption]

DISEÑE UN PROGRAMA EN C++ QUE PERMITA CONSTRIR DOS CLASES LLAMADAS COOR_REC Y COORD_POL. LA CLASE DENOMINADA COORD_REC DEBE CONTENER DOS MIEMBROS DE DATOS EN PUNTO FLOTANTE CON LOS NOMBRES VAL X E VALY, UQE HAN DE UTILIZARSE PARA ALMACENAR LOS VALORES X Y Y DE UN PUNTO DE COORDENADAS RECTANGULARES. LOS MIEMBROS FUNCION DEBEN INCLUIR EL CONSTRUCTOR APROPIADO Y LAS FUNCIONES DE DESPLIEGUE, JUNTO CON UNA FUNCION AMIGA DENOMINADA CONV_POL().

LA CLASE COOR_POL DEBE CONTENER DOS MIEMBROS EN PUNTO FLOTANTE DENOMINADOS DIST Y THETA, A SER UTILIZADOS PARA ALMACENAR LOS VALORES DE DISTANCIA Y ANGULO DE UN PUNTO REPRESENTADO EN COORDENADAS POLARES. LOS MIEMBROS FUNCION DEBEN INCLUIR EL CONSTRUCTOR APROPIADO Y FUNCIONES DE DESPLIEGUE, ASI COMO UNA FUNCIONES AMIGA CONV_POL(). LA FUNCIONES FRIEND DEBE ACEPTAR UN ARGUMENTO ENTERO QUE SE LLAME DIR: DOS ARGUMENTOS EN PUNTO FLOTANTE VAL1 Y VAL2; Y DOS ARGUMENTOS DE REFERENCIA, EL PRIMERO DE LOS CUALES DEBE SER REFERENCIA A UN OBJETO DE TIPO COOR_REC Y EL SEGUNDO A UN OBJETO DE TIPO COOR_POL. CONTRUYA EL PROGRAMA QUE PERMITA HACER LAS CONVERSIONES A LAS COORDENADAS QUE PIDA EL USUARIO



[cpp]</pre>
#include <iostream.h>
#include <conio.h>
#include <math.h>

const int polarec=2;
const int recapol=1;
const float gradosaradian=3.141516/180;
const float radianagrados=1.0/gradosaradian;

class coor_pol;

class coor_rec {

friend void conv_pol(int,coor_rec&,coor_pol&);

private:
float valx;
float valy;

public:
coor_rec(float=0.0,float=0.0);
void nuevodat(float,float);
void despliegue ();
};

class coor_pol {

friend void conv_pol(int,coor_rec&,coor_pol&);

private:
float dist;
float theta;

public:
coor_pol(float=0.0,float=0.0);
void nuevodat(float,float);
void mostrardatos();
};



coor_rec::coor_rec(float x,float y)
{
valx=x;
valy=y;
}

void coor_rec::nuevodat(float xnuevo,float ynuevo)
{
valx=xnuevo;
valy=ynuevo;
}

void coor_rec::despliegue()
{
cout<<endl<<"EL VALOR DE X ES "<<valx;
cout<<endl<<"EL VALOR DE Y ES "<<valy;
cout<<endl;
}

coor_pol::coor_pol(float dista,float theti)
{
dist=dista;
theta=theti;
}

void coor_pol::nuevodat(float distance,float angulo)
{
dist=distance;
theta=angulo;
}

void coor_pol::mostrardatos()
{
cout<<endl<<"EL NUEVO VALOR DEL RADIO ES: "<<dist;
cout<<endl<<"EL NUEVO VALOR DE TETHA ES: "<<theta;
}

void conv_pol(int dir,coor_rec &a, coor_pol &b)
{
if(dir==polarec)
{
a.valx=b.dist*cos(b.theta*gradosaradian);
a.valy=b.dist*sin(b.theta*gradosaradian);
}

if(dir==recapol)
{
b.dist=sqrt(pow(a.valx,2)+pow(a.valy,2));
b.theta=tan((a.valy/a.valx)*radianagrados);
}
}

int main()
{
coor_rec a;
coor_pol b;
float coorx;
float coory;
int op;

cout<<endl<<"DESEA CONVERTIR: "<<endl;
cout<<"1-DE COORDENADAS RECTANGUALES A COORD POLARES\n"<<"2-DE COORDENADAS POLARES A COORDENADAS RECTANGULARES"<<"\nELIJA OPCION: ";
cin>>op;
cout<<endl;
switch(op){

case 1:
cout<<"INTRODUCE VALOR DE LA COORDENADA X: ";
cin>>coorx;
cout<<"INTRODUCE VALOR DE LA COORDENADA Y: ";
cin>>coory;

a.nuevodat(coorx,coory);
conv_pol(recapol,a,b);

b.mostrardatos();
break;

case 2:
int rad,angulo;
cout<<"INTRODUCE EL VALOR DEL RADIO: ";
cin>>rad;
cout<<"INTRODUCE EL VALOR DEL ANGULO: ";
cin>>angulo;

b.nuevodat(rad,angulo);
conv_pol(polarec,a,b);
a.despliegue();
break;
}

getch();
}



<pre>
[/cpp]

0 comentarios :