Büyük Ünlü ve Küçük Ünlü Uyumları Uygulaması

Ahbap

Harbi Üye
Forum Üyesi
Katılım
29 Mayıs 2019
Mesajlar
8,562
Tepkime puanı
2
Bu Program C++ Builder 6 ile uyumludur.



Açmış olduğunuz dosyadaki kelimelerin büyük ünlü ve küçük ünlü uyumuna uyup uymadıklarını kontrol eder ve sonuç olarak size bir dosya sunar.

Kod:
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
OpenDialog1->Filter="Text Dosyaları (*.txt)|*.txt|Metin Dosyaları (*.doc)|*.doc";
if(OpenDialog1->Execute())
Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button3Click(TObject *Sender)
{
int tut=Memo1->Lines->Count;
 
for(int p=0;p<tut;p++)
{
 AnsiString tut=Memo1->Lines->Strings[p]; String bosluk=" ",virgul=",",nokta=".",unlem="!",ikinokta=":",noktalivirgul=";",cifttirnak="\"";
 
 while(tut.Length()>0)
 {
   ListBox2->Items->Clear();
   ListBox3->Items->Clear();
   int bosluk1=tut.Pos(bosluk);
   ListBox2->Items->Add(bosluk1);
   int virgul1=tut.Pos(virgul);
   ListBox2->Items->Add(virgul1);
   int nokta1=tut.Pos(nokta);
   ListBox2->Items->Add(nokta1);
   int unlem1=tut.Pos(unlem);
   ListBox2->Items->Add(unlem1);
   int ikinokta1=tut.Pos(ikinokta);
   ListBox2->Items->Add(ikinokta1);
   int noktalivirgul1=tut.Pos(noktalivirgul);
   ListBox2->Items->Add(noktalivirgul1);
   int cifttirnak1=tut.Pos(cifttirnak);
   ListBox2->Items->Add(cifttirnak1);
 
   for(int i=0;i<ListBox2->Items->Count;i++)
   {
   if(ListBox2->Items->Strings[i]!=0)
   ListBox3->Items->Add(ListBox2->Items->Strings[i]);
   }
   int enkucuk;
   if(ListBox3->Items->Count>0)
   enkucuk=StrToInt(ListBox3->Items->Strings[0]);
   for(int i=0;i<ListBox3->Items->Count;i++)
   {
    if(StrToInt(ListBox3->Items->Strings[i])<enkucuk)
    enkucuk=StrToInt(ListBox3->Items->Strings[i]);
   }
 
    String kopya=tut;
    kopya.Delete(enkucuk,kopya.Length());
    tut.Delete(1,enkucuk);
    if(kopya!="")
    ListBox1->Items->Add(kopya);
 }
 
}
for(int i=0;i<ListBox1->Items->Count;i++)
{
 String oy=ListBox1->Items->Strings[i];
 int boy=oy.Length();
 char * dizi= new char[boy];
 dizi=oy.c_str();           String durum;
 int buyukunluince=0,buyukunlukalin=0,turkcedegil=0;
 for(int p=0;p<boy;p++)
 {
    if(((dizi[p]=='a')||(dizi[p]=='ı')||(dizi[p]=='o')||(dizi[p]=='u')||(dizi[p]=='A')||(dizi[p]=='I')||(dizi[p]=='O')||(dizi[p]=='U'))&&(buyukunlukalin==0))
    {
     buyukunluince=1;
    }
    if(((dizi[p]=='e')||(dizi[p]=='i')||(dizi[p]=='ö')||(dizi[p]=='ü')||(dizi[p]=='E')||(dizi[p]=='İ')||(dizi[p]=='Ö')||(dizi[p]=='Ü'))&&(buyukunluince==0))
    {
     buyukunlukalin=1;
    }
    if(buyukunlukalin==0)
    {
       if((dizi[p]=='e')||(dizi[p]=='i')||(dizi[p]=='ö')||(dizi[p]=='ü')||(dizi[p]=='E')||(dizi[p]=='İ')||(dizi[p]=='Ö')||(dizi[p]=='Ü'))
       {durum=oy+"           kelimesi türkçe değildir büyük ünlü uyumuna uymaz"; ListBox4->Items->Add(durum);turkcedegil=1; break;}
    }
    if(buyukunluince==0)
    {
     if((dizi[p]=='a')||(dizi[p]=='ı')||(dizi[p]=='o')||(dizi[p]=='u')||(dizi[p]=='A')||(dizi[p]=='I')||(dizi[p]=='O')||(dizi[p]=='U'))
     {durum=oy+"             kelimesi türkçe değildir büyük ünlü uyumuna uymaz"; ListBox4->Items->Add(durum);turkcedegil=1; break;}
    }
 }
 int duzsesli=0,duzgenis=0,daryuvarlak=0;
 for(int p=0;p<boy;p++)
 {
  if((p==3)||(p==4)||(p==5))
  {
   if(dizi[p]=='u')
    {
     if((dizi[p-1]=='b')||(dizi[p-1]=='m')||(dizi[p-1]=='v')||(dizi[p]=='p'))
     {
      break;
     }
    }
   }
  if(duzsesli==1)
  {
   if((dizi[p]=='o')||(dizi[p]=='ö')||(dizi[p]=='u')||(dizi[p]=='ü'))
   {durum=oy+"             kelimesi türkçe değildir küçük ünlü uyumuna uymaz"; ListBox4->Items->Add(durum);turkcedegil=1; break;}
  }
  if(daryuvarlak==1)
  {
   if((dizi[p]=='a')||(dizi[p]=='e'))
   {duzsesli=1; daryuvarlak=0;}
   if((dizi[p]=='ı')||(dizi[p]=='i')||(dizi[p]=='o')||(dizi[p]=='ö'))
   {durum=oy+"             kelimesi türkçe değildir küçük ünlü uyumuna uymaz"; ListBox4->Items->Add(durum);turkcedegil=1; break;}
  }
  if(((dizi[p]=='a')||(dizi[p]=='e')||(dizi[p]=='ı')||(dizi[p]=='i'))&&((duzsesli==0)||(duzgenis==0)||(daryuvarlak==0)))
  {
  duzsesli=1;   daryuvarlak=0;
  }
  if(((dizi[p]=='o')||(dizi[p]=='ö')||(dizi[p]=='u')||(dizi[p]=='ü'))&&((duzsesli==0)||(duzgenis==0)||(daryuvarlak==0)))
  {
  duzgenis=1; daryuvarlak=1;
  }
 }
 if(turkcedegil==0)
 {durum=oy+"             kelimesi turkce bir kelimedir"; ListBox4->Items->Add(durum);}
}
 
 ListBox4->Items->SaveToFile("sonuc.txt");
Application->MessageBox("Sonuç Dosyası Açmış Olduğunuz Dosyanın Yanında Oluşmuştur","SONUÇ",MB_ICONINFORMATION);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1->Lines->Clear();
ListBox1->Items->Clear();
ListBox2->Items->Clear();
ListBox3->Items->Clear();
ListBox4->Items->Clear();       
}
//---------------------------------------------------------------------------
 

DarK

< MasaLFM.Net >
Forum Üyesi
Katılım
1 Nisan 2019
Mesajlar
620
Tepkime puanı
0
emeğine yüreğine sağlık
 

Nutella

Harbi Üye
Bayan Üye
Özel Üye
Katılım
2 Ocak 2021
Mesajlar
9,432
Tepkime puanı
8
Cinsiyet
  1. Bayan
Takım
Galatasaray
Paylaşım için teşekkürler.
 
İçerik sağlayıcı "paylaşım" sitelerinden biri olan Harbimekan.Com Forum, Eğlence ve Güncel Paylaşım Platformu Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Harbimekan.Com sitesindeki konular yada mesajlar hakkında yapılacak tüm hukuksal Şikayetler için info@harbimekan.com yada iletişim sayfası üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 Gün (72 Saat) içerisinde Forum yönetimi olarak tarafımızdan gereken işlemler yapılacaktır.

Bu Site, Bilim ve Sağlık Haber Ajansı Üyesidir.

Yığıntı - 8kez - kaynak mağazam - Uğur Ağdaş