#include <cstdlib>
#include <iostream>
using namespace std;
void Convert(unsigned int n, unsigned int base);
int main()
{
unsigned int n, base;
cout << "\t\tConvertitore di base di numerazione\n" << endl;
cout << "Numero da convertire e base di destinazione (es.: 16 2): ";
cin >> n >> base;
// Verifica se la base e' compresa tra 2 e 10. Se non lo e' la imposta a 10
if(base < 2 || base > 10)
base = 10;
// Visualizza il numero nella base prescelta
Convert(n, base);
cout << endl;
system("pause");
}
void Convert(unsigned int n, unsigned int base)
{
if (n > 0) {
Convert(n / base, base); // richiama ricorsivamente Convert
cout << n % base;
}
}
Programma per la conversione di un numero in una base compresa tra 2 e 10
Il programma utilizza un algoritmo ricorsivo.