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

Hata
  • XML Parsing Error at 1:82. Error 9: Invalid character


Sözlük Klasik Dosyalama

Bu program C++ Builder 5 ile uyumludur.

AÇIKLAMA

Bu program?n as?l amac? hash algoritmas? ile sözlük.txt içindeki bilgilerin yeniden sözlük1.txt içinde
organize edilmesidir.Hash algoritmas? ki?inin kendi algoritmas?d?r. Bir çe?it adres bilgisi ile direk
kelimeye eri?imdir.Program öncelikle sözlük.txt den verileri okuyarak yeniden organize ederek sözlük1.txt
içine yerle?tirir.Hash algoritmas?nda önemli olan iki kriter vard?r. Birincisi dosya boyutunu azaltmak
ikincisi ise çak??ma say?s?n?n az olmas?d?r.Ama ikisi birbirine kar??d?r.Biraz daha aç?klarsak çak??ma
çok olursa daha s?k? yerle?tirme yapaca??ndan dolay? dosya boyutu küçülür ama olu?ma zaman? (disket için) oldukça uzar.E?er çak??ma say?s? az olursa bu durumda olu?an dosya boyutu çok büyür ama bu sefer olu?ma zaman? (disket için) oldukça azal?r. Bu program disketlerde çal??t?r?l?nca daha anlaml? olur. Olay ?udurki en
iyi hash algoritmas?n? bulup hem olu?ma zaman?n? hemde dosya boyutunu ortalama seviyeye çekmek gerekir.

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. #include <stdio.h>
  6. #include <string.h>
  7. #include "Unit1.h"
  8.  #include <io.h>
  9.  #include <stdlib.h>
  10.  #include <conio.h>
  11. //---------------------------------------------------------------------------
  12. #pragma package(smart_init)
  13. #pragma resource "*.dfm"
  14. TForm1 *Form1;
  15. int hesapla(char dizi[]);
  16. FILE *dosya,*dosya1;
  17.   char ingilizce[36];   int k,search,dosyabasi,tut,kontrol2;
  18.   char turkce[79];
  19.   int i;
  20.   char temp[115];
  21.   char kelime[35];
  22. //---------------------------------------------------------------------------
  23. __fastcall TForm1::TForm1(TComponent* Owner)
  24.         : TForm(Owner)
  25. {
  26. }
  27. //---------------------------------------------------------------------------
  28.  
  29. void __fastcall TForm1::FormCreate(TObject *Sender)
  30. {
  31. Button2->Visible=False;
  32. Button3->Visible=False;
  33. Edit1->Visible=False;
  34. Edit2->Visible=False;
  35. Label1->Visible=False;
  36. Label2->Visible=False;
  37. Label3->Visible=False;
  38. }
  39. //---------------------------------------------------------------------------
  40.  
  41. void __fastcall TForm1::k1Click(TObject *Sender)
  42. {
  43. Application->Terminate();
  44. }
  45. //---------------------------------------------------------------------------
  46. void __fastcall TForm1::Button1Click(TObject *Sender)
  47. { TDateTime saat=Time();
  48.   Label2->Visible=True;
  49.   Label2->Caption="Ba?il Dosya Olu?turma Ba?lad?: "+TimeToStr(saat);
  50.   Label1->Visible=False;
  51.   char kr;
  52.   int adr;   int yaz=0;
  53.  
  54.   int kontrol;
  55.  if((dosya=fopen("sozluk.txt","r"))==NULL)
  56.    exit(6);
  57.  if((dosya1=fopen("sözlük1.txt","w+"))==NULL)
  58.    exit(6);
  59.   for(i=0;i<658000;i++)
  60.   putc(32,dosya1);
  61.   while(feof(dosya)==NULL)
  62.   {
  63.   fgets(temp,115,dosya);
  64.   for(i=0;i<35;i++)
  65.   {ingilizce[i]=temp[i];}
  66.   ingilizce[35]='\0';
  67.   for(i=36;i<115;i++)
  68.     {turkce[i-36]=temp[i]; }
  69.   turkce[78]='\0';
  70.   adr=hesapla(ingilizce);
  71.   fseek(dosya1,adr*115,SEEK_SET);
  72.   kr=getc(dosya1);
  73.   fseek(dosya1,-1,SEEK_CUR);
  74.   if(kr==32){
  75.   fputs(ingilizce,dosya1);
  76.   fputs(turkce,dosya1); }
  77.   else{ yaz++;  kontrol=0;
  78.  
  79.   while(kontrol==0){
  80.   fseek(dosya1,yaz*115,SEEK_SET);
  81.   kr=getc(dosya1);
  82.   fseek(dosya1,-1,SEEK_CUR);
  83.   if(kr==32){
  84.    fputs(ingilizce,dosya1);
  85.   fputs(turkce,dosya1);kontrol=1; }
  86.   else
  87.   yaz++;}}
  88.  }/*while1 bitti*/
  89.  Label3->Visible=True;
  90.  saat=Time();
  91.  Label3->Caption="Ba?il Dosya Olu?turma Bitti: "+TimeToStr(saat);
  92.  Button1->Visible=False;
  93.  Button2->Visible=True;
  94.  Button3->Visible=True;
  95.  Edit1->Visible=True;
  96.  
  97.  
  98. }
  99.  
  100. //---------------------------------------------------------------------------
  101. int hesapla(char dizi[]){
  102.   long int adres=0;int i;
  103.   for(i=0;i<35;i++)
  104.   adres=dizi[i]+adres;
  105.   adres=adres-1163;
  106.   return adres; }
  107. //---------------------------------------------------------------------------
  108. void __fastcall TForm1::Button2Click(TObject *Sender)
  109. {Label1->Visible=False;
  110.  Label2->Visible=False;
  111.  Label3->Visible=False;
  112.    search=0;   tut=0;  dosyabasi=1;  kontrol2=0;
  113.  for(i=0;i<35;i++)
  114.    {kelime[i]=32;}
  115.  strcpy(kelime,Edit1->Text.c_str());
  116.  k=strlen(kelime);
  117.  for(i=0;i<k;i++)
  118.  {search=kelime[i]+search;}
  119.  for(i=0;i<35-k;i++)
  120.   {search=search+32;}
  121.  search=search-1163;
  122.  fseek(dosya1,search*115,0);
  123.  fgets(temp,115,dosya1);
  124.  for(i=0;i<35;i++)
  125.   {ingilizce[i]=temp[i];}
  126.  for(i=0;i<k;i++)
  127.    {if(kelime[i]==ingilizce[i])
  128.    tut++;}
  129.  if(tut==k)
  130.   { for(i=35;i<115;i++)
  131.    {turkce[i-35]=temp[i];}
  132.    Edit2->Visible=True;
  133.    Edit2->Text=String(turkce);
  134.    }
  135.  else{
  136.       while(kontrol2==0&&dosyabasi!=5722){ int tut2=0;
  137.       fseek(dosya1,dosyabasi*115,SEEK_SET);
  138.       fgets(temp,115,dosya1);
  139.       for(i=0;i<35;i++)
  140.       {ingilizce[i]=temp[i];}
  141.       for(i=0;i<k;i++)
  142.        {if(kelime[i]==ingilizce[i])
  143.         tut2++;}
  144.       if(tut2==k)
  145.         {for(i=35;i<115;i++)
  146.          {turkce[i-35]=temp[i];}
  147.          Edit2->Visible=True;
  148.           Edit2->Text=String(turkce);kontrol2=1;}
  149.       else dosyabasi++;}}
  150.  if(dosyabasi==5722||search==5722)
  151.  {Edit2->Text="";
  152.  ShowMessage("Böyle Bir Kelime Yok");
  153.  }
  154. }
  155. //---------------------------------------------------------------------------
  156. void __fastcall TForm1::Button3Click(TObject *Sender)
  157. { Label1->Visible=False; int c;
  158.   Label2->Visible=False;
  159.   Label3->Visible=False;
  160.   Edit2->Visible=False;
  161.   c=MessageDlg("Silmek istedi?iniz eminmisiniz?",mtWarning,TMsgDlgButtons()<<mbYes<<mbNo,0);
  162. if(c==mrYes){  search=0;   tut=0;    dosyabasi=0;    kontrol2=0;
  163. for(i=0;i<35;i++)
  164.    {kelime[i]=32;}
  165.  strcpy(kelime,Edit1->Text.c_str());
  166.  k=strlen(kelime);
  167.  for(i=0;i<k;i++)
  168.  {search=kelime[i]+search;}
  169.  for(i=0;i<35-k;i++)
  170.   {search=search+32;}
  171.  search=search-1163;
  172.  fseek(dosya1,search*115,0);
  173.  fgets(temp,115,dosya1);
  174.  for(i=0;i<35;i++)
  175.   {ingilizce[i]=temp[i];}
  176.  for(i=0;i<k;i++)
  177.    {if(kelime[i]==ingilizce[i])
  178.    tut++;}
  179.  if(tut==k)
  180.   {fseek(dosya1,search*115,0);
  181.    for(i=0;i<115;i++)
  182.    {putc(32,dosya1);}
  183.   }
  184.  else{dosyabasi++;
  185.       while(kontrol2==0&&dosyabasi!=5722){ int tut2=0;
  186.       fseek(dosya1,dosyabasi*115,SEEK_SET);
  187.       fgets(temp,115,dosya1);
  188.       for(i=0;i<35;i++)
  189.       {ingilizce[i]=temp[i];}
  190.       for(i=0;i<k;i++)
  191.        {if(kelime[i]==ingilizce[i])
  192.         tut2++;}
  193.       if(tut2==k)
  194.         {fseek(dosya1,dosyabasi*115,SEEK_SET);
  195.          for(i=0;i<115;i++)
  196.          {putc(32,dosya1);}
  197.         kontrol2=1;}
  198.       else dosyabasi++;}}
  199.       if(dosyabasi==5722||search==5722)
  200.       ShowMessage("Zaten Böyle Bir Kelime Yok");}
  201. }
  202. //---------------------------------------------------------------------------
  203.  
  204. void __fastcall TForm1::about1Click(TObject *Sender)
  205. {
  206. Label2->Visible=False;
  207. Label3->Visible=False;
  208. Label1->Visible=True;
  209. Label1->Caption="Designed by CELAL ATALAR 2003";
  210. }
  211. //---------------------------------------------------------------------------
  212.  

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Perşembe, 07 Nisan 2011 23:28 )  
404 Not Found

404

Not Found

The resource requested could not be found on this server!


Proudly powered by LiteSpeed Web Server

Please be advised that LiteSpeed Technologies Inc. is not a web hosting company and, as such, has no control over content found on this site.