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; }