- Katılım
- 3 Ocak 2014
- Mesajlar
- 433
- Tepkime puanı
- 2
- Puanları
- 0
Merhabalar,
Bu dersimizde C#'da 10'luk tabandaki bir sayıyı, başka bir tabana çeviren küçük bir uygulama yazacağız.
İlk Olarak Visual Studio Programınızı Açıp, Yeni bir proje oluşturup ekranda görmüş olduğunuz tasarımı gerçekleştirin.
Sahneye iki adet textbox, Bir buton ve birde Sonuç Degeri için Label Atıyoruz.
Daha Sonra hesapla Butonumuza çift tıklayıp içerisine Aşagıda yer alan kodları yerleştirelim.
private void button1_Click(object sender, EventArgs e) { long x; //Long tipinde bir değişken tanımlıyoruz. Çevirilecek Sayı İçin int n; // integer tipinde bir değişken tanımlıyoruz. Çevirilecek Taban İçintry // Kodlarımızı try catch blogu içerisinde yazıyor,olacak bir hatayı görmek için { x =int.Parse(textBox1.Text); //textbox1 deki değeri x'e aktarıyoruz. n = int.Parse(textBox2.Text);//textbox2 deki değeri n'e aktarıyoruz. lblSonuc.Text = tabancevir(x,n);// lblSonuc diye bir label sahneye attıktan sonra bunada tabancevir fonksiyonunu atıyoruz. Fonksiyon çalışacak ve geriye deger döndürüp, lblSonucta Yazacaktır. } catch (Exception) { throw; // olası bir hatayı burada ekrana yazdırabilirsiniz bir messagebox kullanarak. } } string tabancevir(long x, int n) { //tabancevir Fonksiyonumuzu yazmaya başlayalım. dışarıdan iki parametre alacak çünkü iki tane deger gönderiyoruz bu fonksiyona. if(n<2) // taban 2'den Küçük Olamayacağı için direk -1 degerini döndürüyoruz. Eğer taban degeri 2 den küçük girilirse. return "-1"; long b; // long tipinde bir değişken tanımlıyoruz. Mod değerlerini Tutmak İçin. string s = ""; // string tipinde bir değişken tanımlayıp, Sonuç degeri bu değişkende tutulacaktır. while (x >= n) { // Sayı Tabandan Küçük olana kadar döngümüz çalışacaktır. b = x % n; // sayının tabandaki kalanı alınıp, b değişkenine aktarılıyor. x = x / n; Sayı sürekli tabana bölünüyor.ve X in değeri sürekli Değişiyor. if (b > 9) // Eğer Sayının tabana bölümünde kalan 9 dan büyükse s = (char)(55 + b) + s; // ASCII Karakter Tablosunda Başlangıç Olan A harfinin Değeri 65 olduğundan burada böyle bir işlem kullanıyoruz. 9 dan Büyük Rakamlar harfe Çevrilecek Bu sayede. else s = b + s; } if (x > 9)s =(char)(55 + x) + s;elses = x + s;return s;} } }
Bu dersimizde C#'da 10'luk tabandaki bir sayıyı, başka bir tabana çeviren küçük bir uygulama yazacağız.
İlk Olarak Visual Studio Programınızı Açıp, Yeni bir proje oluşturup ekranda görmüş olduğunuz tasarımı gerçekleştirin.
Sahneye iki adet textbox, Bir buton ve birde Sonuç Degeri için Label Atıyoruz.
Daha Sonra hesapla Butonumuza çift tıklayıp içerisine Aşagıda yer alan kodları yerleştirelim.
private void button1_Click(object sender, EventArgs e) { long x; //Long tipinde bir değişken tanımlıyoruz. Çevirilecek Sayı İçin int n; // integer tipinde bir değişken tanımlıyoruz. Çevirilecek Taban İçintry // Kodlarımızı try catch blogu içerisinde yazıyor,olacak bir hatayı görmek için { x =int.Parse(textBox1.Text); //textbox1 deki değeri x'e aktarıyoruz. n = int.Parse(textBox2.Text);//textbox2 deki değeri n'e aktarıyoruz. lblSonuc.Text = tabancevir(x,n);// lblSonuc diye bir label sahneye attıktan sonra bunada tabancevir fonksiyonunu atıyoruz. Fonksiyon çalışacak ve geriye deger döndürüp, lblSonucta Yazacaktır. } catch (Exception) { throw; // olası bir hatayı burada ekrana yazdırabilirsiniz bir messagebox kullanarak. } } string tabancevir(long x, int n) { //tabancevir Fonksiyonumuzu yazmaya başlayalım. dışarıdan iki parametre alacak çünkü iki tane deger gönderiyoruz bu fonksiyona. if(n<2) // taban 2'den Küçük Olamayacağı için direk -1 degerini döndürüyoruz. Eğer taban degeri 2 den küçük girilirse. return "-1"; long b; // long tipinde bir değişken tanımlıyoruz. Mod değerlerini Tutmak İçin. string s = ""; // string tipinde bir değişken tanımlayıp, Sonuç degeri bu değişkende tutulacaktır. while (x >= n) { // Sayı Tabandan Küçük olana kadar döngümüz çalışacaktır. b = x % n; // sayının tabandaki kalanı alınıp, b değişkenine aktarılıyor. x = x / n; Sayı sürekli tabana bölünüyor.ve X in değeri sürekli Değişiyor. if (b > 9) // Eğer Sayının tabana bölümünde kalan 9 dan büyükse s = (char)(55 + b) + s; // ASCII Karakter Tablosunda Başlangıç Olan A harfinin Değeri 65 olduğundan burada böyle bir işlem kullanıyoruz. 9 dan Büyük Rakamlar harfe Çevrilecek Bu sayede. else s = b + s; } if (x > 9)s =(char)(55 + x) + s;elses = x + s;return s;} } }