Ho provato a fare un convertitore esadecimale
Ma quando lo avvio e inserisco il numero questo non mi stampa un bel niente...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; }
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?