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 )  
301 Moved Permanently

301 Moved Permanently


nginx