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

Anasayfa Programlama C++ Builder Beşlik Tabandan Yedilik Tabana


Beşlik Tabandan Yedilik Tabana

AÇIKLAMA

C++ Builder 6 ile uyumludur. 

Bu program beşlik tabanda girilen sayıyı yedilik tabana çevirmektedir. Bu projede kullanılan algoritmada şöyledir; öncelikle beşlik tabandaki sayı yazılan fonksiyon yardımıyla onluk tabana çevirilir daha sonrasında yine bir fonksiyon yardımıyla onluk tabandan yedilik tabana çevrilerek taban çevirme işlemi tamamlanır. Ayrıca beşlik tabanda (0,1,2,3,4) den başka rakam girilmemesi gerekmektedir. Bu sebeplede Edit1 bileşeni içerisine girilecek olan beşlik tabandaki sayının kontrollü girilmesi de sağlanmıştır. Edit1 içerisine beşlik tabanda sayı yazıldıktan sonra Hesapla butonuna basılır yedilik tabandaki sonuç Edit2 bileşeni içerisinde belirecektir. 

Ayrıca yanlış yazım sebebiyle silme işlemine gerçekleştirebilmek amacıyla backspace tuşuda aktif olarak bırakılmıştır.

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. #include <vcl.h>
  4. #pragma hdrstop
  5.  
  6. #include "Unit1.h"
  7. #include "Math.h"
  8. String yediliyecevir(int);
  9. int onluyacevir(String);
  10. //---------------------------------------------------------------------------
  11. #pragma package(smart_init)
  12. #pragma resource "*.dfm"
  13. TForm1 *Form1;
  14.  
  15. //---------------------------------------------------------------------------
  16. __fastcall TForm1::TForm1(TComponent* Owner)
  17.         : TForm(Owner)
  18. {
  19.  
  20.  
  21. }
  22. //---------------------------------------------------------------------------
  23.  
  24.  
  25. void __fastcall TForm1::Button1Click(TObject *Sender)
  26. {
  27. int a=onluyacevir(Edit1->Text);
  28. String b=yediliyecevir(a);
  29. Edit2->Text=b;
  30. }
  31. //---------------------------------------------------------------------------
  32. int onluyacevir(String disardan)
  33. {
  34. String ikili=strrev(disardan.c_str());
  35. int toplam=0;
  36. char *x;
  37. x=(char *)malloc(ikili.Length());
  38. strcpy(x,ikili.c_str());
  39. for(int i=0;i<ikili.Length();i++)
  40. {
  41.   toplam+=StrToInt(x[i])*pow(5,i);
  42. }
  43. return toplam;
  44. }
  45. //---------------------------------------------------------------------------
  46. String yediliyecevir(int p)
  47. {
  48. int x=p;
  49. String sonuc="";
  50. int kalan;
  51. while(x>6)
  52. {
  53.  kalan=x%7;
  54.  sonuc+=kalan;
  55.  x=x/7;
  56. }
  57. sonuc+=x;
  58. return strrev(sonuc.c_str());
  59. }
  60. void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
  61. {
  62. if(Key==48||Key==49||Key==50||Key==51||Key==52||Key==VK_BACK)
  63. ;
  64. else
  65. Key=0;
  66. }
  67. //---------------------------------------------------------------------------
  68.  
Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Salı, 04 Eylül 2012 02:48 )