You are on page 1of 2

#include <iostream>

using namespace std;


int decabase (int dividendo,int divisor)
{
int rest=dividendo%divisor;
return (rest);
}
int main()
{
repite://goto repetir
int bases=11,basell=11;
cout<<"pasa de decimal a base b(2 a 9) y viceversa \n";
//ciclos de verificacion entradas

while (((bases<2 or bases>10) or (basell<2 or basell>10))or (bases!=10 and


basell!=10))
{
cout<< "introduce base de salida(2 a 10) + enter ";
cin>> bases;
cout <<"base llegada ( 2 a 10) + enter ";
cin>>basell;
}
int cociente=1;
int resto=1;
cout<<"intro numero + enter ";
int numeros;
cin >> numeros;
if (bases==basell)
{
cout <<"el num cambia a\n";
cout <<numeros;
}//base 10 a otra
else if ((bases==10) and (basell!=10) )
{

cout<< "el numero se lee de derecha a izquirda\n";


while (numeros >= basell)
{
resto=decabase(numeros,basell);
cociente=numeros/basell;
cout<<resto;
numeros=cociente;
}
cout << numeros;
}//base otra a 10
else
{
int suma=0;
int cre=1;
while (numeros>=basell)
{
resto =numeros%basell;
cociente=numeros/basell;
suma=suma+(resto*cre);
cre=cre*bases;
numeros=cociente;
}
suma=suma+(cociente*cre);
cout << suma << endl;
}//
char repetir;
cout<<"¿quieres repetir? s/n \n";
cin>>repetir;
if (repetir=='s')
goto repite;
int salida;
cin>>salida;
return 0;
}

You might also like