Ho provato a fare un convertitore esadecimale
codice:
#include <iostream>
using namespace std;
int main()
{
int Numero = 0;
char Convertito[100];
cout <<"Inserisci il numero da convertire\n";
cin >> Numero;
for (int i = 0;(Numero / 16) == 0;i++)
{
switch (Numero % 16)
{
case 15:
Convertito[i] = 'F';
break;
case 14:
Convertito[i] = 'E';
break;
case 13:
Convertito[i] = 'D';
break;
case 12:
Convertito[i] = 'C';
break;
case 11:
Convertito[i] = 'B';
break;
case 10:
Convertito[i] = 'A';
break;
default:
Convertito[i] = Numero % 16;
break;
Numero = Numero / 16;
}
}
for (int a = strlen(Convertito); a = 0; a--)
{
cout<<Convertito[a];
}
cout<<endl;
system("PAUSE");
return 0;
}
Ma quando lo avvio e inserisco il numero questo non mi stampa un bel niente...
Posso capire che alcuni caratteri sono vuoti poichè strlen(Converito) mi restituisce 100 e quindi li printa vuoti...ma gli altri dove sono?
Usando il debug di Visual C++ 6.0 e premendo F11, noto che il primo ciclo for lo salta completamente!!
Sapete aiutarmi, magari anche ad ottimizzarlo?