Şimdi bu örneğe göre kodlama işlemine geçelim.
static void Main(string[] args)
{
Console.Title = "Sayıyı Basamaklandırma, Basamak Değerini ve Sayı Değerini Bulma";
Console.CursorVisible = false;
Random rnd = new Random();
int x;
string sayi = "";
int a, b, h;
do
{
Console.BackgroundColor = ConsoleColor.Blue;
Console.Clear();
do
{
Console.Clear();
Console.ForegroundColor = ConsoleColor.Cyan;
x = rnd.Next(1, 13);
sayi = RandomNumber(x);
Console.SetCursorPosition(1, 3);
Console.Write("{0} sayısını basamaklandırınız. Sayı değerlerini ve basamak değerlerini bulunuz?", sayi);
} while (Console.ReadKey(true).Key != ConsoleKey.C);
Console.ForegroundColor = ConsoleColor.Yellow;
b = 1;
h = 0;
for (int i = 0; i < sayi.Length; i++)
{
a = 6;
Console.SetCursorPosition(b, 5);
Console.Write(sayi[i]);
for (int j = 0; j < sayi.Length - h; j++)
{
Console.SetCursorPosition(b, a);
Console.Write("│");
a++;
}
Console.SetCursorPosition(b, a);
Console.Write("└" + new string('─', sayi.Length * 2 - h * 2));
b += 2;
h++;
}
a = 7;
Console.SetCursorPosition(b + 3, 5);
Console.Write("Basamağı");
Console.SetCursorPosition(b + 16, 5);
Console.Write("Sayı Değeri");
Console.SetCursorPosition(b + 30, 5);
Console.Write("Basamak Değeri");
for (int i = sayi.Length - 1, j = 0; i >= 0; i--, j++)
{
Console.SetCursorPosition(b + 3, a);
Console.Write(Math.Pow(10, j));
Console.SetCursorPosition(b + 21, a);
Console.Write(sayi[i]);
Console.SetCursorPosition(b + 30, a);
Console.Write(Math.Pow(10, j) * Int32.Parse(sayi[i].ToString()));
a++;
}
} while (Console.ReadKey(true).Key != ConsoleKey.Escape);
}
public static string RandomNumber(int size)
{
StringBuilder builder = new StringBuilder();
Random rnd = new Random();
int[] number = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int sec;
for (int i = 0; i < size; i++)
{
sec = number[rnd.Next(0, 10)];
if (i == 0)
if (sec == 0)
{
i--;
continue;
}
builder.Append(sec);
}
return builder.ToString();
}