Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama C++ Builder İkilik Tabandan Sekizlik Tabana Dönüştürme


İkilik Tabandan Sekizlik Tabana Dönüştürme

Bu Program C++ Builder 6 ile uyumludur. 

AÇIKLAMA

Bu programda butonu tıklayıp 2'lik sayı sisteminde (0 ve 1 ler) oluşan sayıyı girip tamam dediğinizde sonuç olarak sayının 8'lik tabandaki karşılığı verilir.

Programın Tamamını Aşağıdaki Linkten İndirebilirsiniz

Linki Görebilmeniz İçin Üye Olmanız Gerekmektedir...

Üye Kayıt

Program Kodu:

  1.  
  2. //---------------------------------------------------------------------------
  3.  
  4. #include <vcl.h>
  5. #pragma hdrstop
  6.  
  7. #include "Unit1.h"
  8. //---------------------------------------------------------------------------
  9. #pragma package(smart_init)
  10. #pragma resource "*.dfm"
  11. TForm1 *Form1;
  12. //---------------------------------------------------------------------------
  13. __fastcall TForm1::TForm1(TComponent* Owner)
  14.         : TForm(Owner)
  15. {
  16. }
  17. //---------------------------------------------------------------------------
  18.  
  19. void __fastcall TForm1::Button1Click(TObject *Sender)
  20. {
  21. Edit1->Visible=false;
  22. Edit1->Text="";
  23. int saydir=1;
  24. String x=InputBox("Sayı Gir","2 Lik Tabanda Sayı Gir","");
  25. String temp=x;
  26. int boy=x.Length();
  27. int dongu=boy/3;
  28. int kalan=boy%3;
  29. if(kalan>0)
  30. dongu++;
  31. strrev(x.c_str());
  32. while(saydir<=dongu)
  33. {
  34. x.Delete(saydir*3+1,x.Length());
  35. x.Delete(1,(saydir-1)*3);
  36. char dizi[3];
  37. strcpy(dizi,x.c_str());
  38. int sonuc,bir,iki,uc;
  39. String he=(String(dizi));
  40. int p=he.Length();
  41. sonuc=0;
  42. if(p==3)
  43. {bir=StrToInt(String(dizi[2]))*4;   sonuc=sonuc+bir; }
  44. if(p>=2)
  45. {iki=StrToInt(String(dizi[1]))*2;   sonuc=sonuc+iki; }
  46. if(p>=1)
  47. {uc=StrToInt(String(dizi[0]))*1;   sonuc=sonuc+uc;   }
  48.  
  49. Edit1->Text=Edit1->Text+IntToStr(sonuc);
  50. x=temp;
  51. saydir++;
  52. }
  53. Edit1->Text=strrev(Edit1->Text.c_str());
  54. Edit1->Visible=true;       
  55. }
  56. //---------------------------------------------------------------------------
  57.  
  58. void __fastcall TForm1::FormShow(TObject *Sender)
  59. {
  60. Edit1->Visible=false;
  61. }
  62. //---------------------------------------------------------------------------
  63.  

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Pazartesi, 29 Ağustos 2011 18:15 )