2014-07-13 1 views
1

Les codes ci-dessous fonctionnent parfaitement bien. Mais comment imprimer le nombre converti de gauche à droite. Par exemple si je tape 898989, il me donnera la sortie DB7AD. Comment puis-je imprimerComment imprimer ma sortie de gauche à droite?

  • DB7AD à

    D 
    
        B 
    
         7 
    
          A 
    
          D  
    

    Codes:

    public static void Main() 
    { 
        int decimalNumber, quotient; 
        int i = 1, j, num = 0; 
        char [] hexadecimalNumber = new char[100]; 
        char temp; 
        Console.WriteLine("Decimal to HexaDecimal conversion using Ascii code.\n"); 
        Console.WriteLine("Input DECIMAL NUMBER(S) you want to convert to  HEXADECIMAL(S):\t\n"); 
        Console.Write("Decimal Numbers : \t"); 
    
        decimalNumber = int.Parse(Console.ReadLine()); 
        quotient = decimalNumber; 
        while (quotient != 0) 
        { 
         num = quotient % 16; 
         if (num < 10) 
          num = num + 48; 
         else 
          num = num + 55; 
         temp = Convert.ToChar(num); 
         hexadecimalNumber[i++] = temp; 
         quotient = quotient/16; 
        } 
    
        Console.Write("HexaDecimal Numbers : \t"); 
    
        for (j = i - 1; j > 0; j--) 
        Console.Write(hexadecimalNumber[j]); 
        Console.WriteLine(); 
        Console.Read(); 
    
    } 
    

Répondre

2

Puisque vous imprimez votre caractère par caractère numéro, vous devez modifier cette boucle

for (j = i - 1; j > 0; j--) { 
    Console.Write(hexadecimalNumber[j]); 
} 

de manière à imprimer des onglets zéro avant le premier chiffre, un onglet avant le deuxième chiffre, deux onglets avant le troisième chiffre, et ainsi de suite. Vous pouvez le faire en faisant une variable string tabs, et en ajoutant un "\t" à après chaque itération:

string tabs = ""; 
for (j = i - 1; j > 0; j--) { 
    Console.WriteLine(tabs + hexadecimalNumber[j]); 
    tabs += "\t"; 
} 

Demo on ideone.

+0

Merci beaucoup pour votre aide. Vous l'avez fait semble assez facile. J'étais en train de le penser. Merci encore. – Armado

Questions connexes