Está en la página 1de 3

SOLUCION TERCER PRÁCTICA

VARIABLES DE MIEMBRO
CODIFICACION:

int invertir(int a,int n)


{
if (a==0) return n;
else return invertir (a/10,n*10+a%10);

void Csolucion3pDlg::OnBnClickedButton1()
{
UpdateData(true);
CString cadx,cady;
int c,l,x,y,num=0;
l=m_cod;
x=m_x;
y=m_y;
while(l>0){
l=l/10;
num++;
}
if(num%2!=0)
m_cad=_T("El codigo de desplazamiento debe tener cantidad de cifras
par.");
else{
c=invertir(m_cod,0);
m_cad=" ";
int aux,avan;

cadx.Format(_T("%.f"),m_x);
cady.Format(_T("%.f"),m_y);
m_cad=m_cad+"("+cadx+","+cady+_T(") ");
while(c%100!=0)
{

aux=c%10;
avan=(c/10)%10;
c=c/100;
if(aux==1) m_x=m_x+avan;
else if (aux==2) m_y=m_y+avan;
else if (aux==3) m_x=m_x-avan;
else m_y=m_y-avan;
cadx.Format(_T("%.f"),m_x);
cady.Format(_T("%.f"),m_y);
m_cad=m_cad+"("+cadx+","+cady+_T(") ");
}
m_x=x;
m_y=y;
}
UpdateData(false);
}

void Csolucion3pDlg::OnBnClickedButton2()
{

UpdateData(true);
m_x=0;
m_y=0;
m_cod=0;
m_cad="0";
UpdateData(false);

}
Primera corrida:

Segunda corrida:

Tercera corrida:

También podría gustarte