static void BaşharfKuralınıDüzelt(string metin, out string çıktı)
{
var düzeltilen = new StringBuilder(); //string += char şeklinde kullanım sağlayamadığımız için stringbuilder oluşturup append methodunu kullanıcaz.
for(var i = 0; i < metin.Length; i++) //girilen metinin uzunluğu kadar bir döngü oluşturduk ki; İstediğimiz harfleri çekebilelim ve kontrollerimizi yapabilelim.
{
düzeltilen.Append(metin[i]); //Her zaman alınacak ilk karakteri direk çıktı metinine ekliyoruz.
if (metin[i] == '.') //Eğer girilen metindeki şuanki dönen karakter nokta ise
{
if ((i + 2 < metin.Length) && metin[i + 1] == ' ' && Char.IsLetter(metin[i+2])) // noktadan sonraki 2 karakter mevcutsa, noktadan sonra boşluk varsa ve boşluktan sonrada bir harf varsa.
{
düzeltilen.Append(metin[i+1]); //boşluğu çıktı metinine ekleriz.
var c = Char.ToUpper(metin[i + 2]); //boşluktan sonraki harfi büyütürüz.
düzeltilen.Append(c); //büyütülen harfi çıktı metinine ekleriz.
i += 2; //döngüyü iki karakterlik ilerletiriz.
continue; //döngüyü direk devam ettiriririz.
} else if(i+1 < metin.Length && Char.IsLetter(metin[i+1])) // noktadan sonraki karakter mevcutsa ve noktadan sonrada bir harf varsa.
{
var c = Char.ToUpper(metin[i + 1]); //noktadan sonra gelen harfi büyütürüz.
düzeltilen.Append(c); //büyütülen harfi çıktı metinine ekleriz.
i += 1; //döngüyü 1 karakter ilerletiriz.
continue; //döngüyü direk devam ettiriririz.
}
}
}
çıktı = düzeltilen.ToString(); //son olarak çıktı değişkenimizi düzeltilen metinimizle eşitliyoruz.
}
static void TestÇağrısı()
{
string XMBuffer;
BaşharfKuralınıDüzelt("Cümlelerdeki ilk kelimenin baş harfi büyük olmalıdır. aksi yazım hatasıdır.mesela boşluksuz örneği budur. başında boşluk olsada algoritma güzelcene çalışır.", out XMBuffer);
Console.WriteLine(XMBuffer);
Console.ReadLine();
}
Sen kralsın be üşenmeden tek tek yazmışC#:static void BaşharfKuralınıDüzelt(string metin, out string çıktı) { var düzeltilen = new StringBuilder(); //string += char şeklinde kullanım sağlayamadığımız için stringbuilder oluşturup append methodunu kullanıcaz. for(var i = 0; i < metin.Length; i++) //girilen metinin uzunluğu kadar bir döngü oluşturduk ki; İstediğimiz harfleri çekebilelim ve kontrollerimizi yapabilelim. { düzeltilen.Append(metin[i]); //Her zaman alınacak ilk karakteri direk çıktı metinine ekliyoruz. if (metin[i] == '.') //Eğer girilen metindeki şuanki dönen karakter nokta ise { if ((i + 2 < metin.Length) && metin[i + 1] == ' ' && Char.IsLetter(metin[i+2])) // noktadan sonraki 2 karakter mevcutsa, noktadan sonra boşluk varsa ve boşluktan sonrada bir harf varsa. { düzeltilen.Append(metin[i+1]); //boşluğu çıktı metinine ekleriz. var c = Char.ToUpper(metin[i + 2]); //boşluktan sonraki harfi büyütürüz. düzeltilen.Append(c); //büyütülen harfi çıktı metinine ekleriz. i += 2; //döngüyü iki karakterlik ilerletiriz. continue; //döngüyü direk devam ettiriririz. } else if(i+1 < metin.Length && Char.IsLetter(metin[i+1])) // noktadan sonraki karakter mevcutsa ve noktadan sonrada bir harf varsa. { var c = Char.ToUpper(metin[i + 1]); //noktadan sonra gelen harfi büyütürüz. düzeltilen.Append(c); //büyütülen harfi çıktı metinine ekleriz. i += 1; //döngüyü 1 karakter ilerletiriz. continue; //döngüyü direk devam ettiriririz. } } } çıktı = düzeltilen.ToString(); //son olarak çıktı değişkenimizi düzeltilen metinimizle eşitliyoruz. } static void TestÇağrısı() { string XMBuffer; BaşharfKuralınıDüzelt("Cümlelerdeki ilk kelimenin baş harfi büyük olmalıdır. aksi yazım hatasıdır.mesela boşluksuz örneği budur. başında boşluk olsada algoritma güzelcene çalışır.", out XMBuffer); Console.WriteLine(XMBuffer); Console.ReadLine(); }
Herhalde ödev gibi bişey kardeşim, umarım işine yarar ve üşenmeden oturup yazdığım kodu okuyup sistemi anlamaya çalışırsın.
Teşekkür ederim emeğine sağlıkC#:static void BaşharfKuralınıDüzelt(string metin, out string çıktı) { var düzeltilen = new StringBuilder(); //string += char şeklinde kullanım sağlayamadığımız için stringbuilder oluşturup append methodunu kullanıcaz. for(var i = 0; i < metin.Length; i++) //girilen metinin uzunluğu kadar bir döngü oluşturduk ki; İstediğimiz harfleri çekebilelim ve kontrollerimizi yapabilelim. { düzeltilen.Append(metin[i]); //Her zaman alınacak ilk karakteri direk çıktı metinine ekliyoruz. if (metin[i] == '.') //Eğer girilen metindeki şuanki dönen karakter nokta ise { if ((i + 2 < metin.Length) && metin[i + 1] == ' ' && Char.IsLetter(metin[i+2])) // noktadan sonraki 2 karakter mevcutsa, noktadan sonra boşluk varsa ve boşluktan sonrada bir harf varsa. { düzeltilen.Append(metin[i+1]); //boşluğu çıktı metinine ekleriz. var c = Char.ToUpper(metin[i + 2]); //boşluktan sonraki harfi büyütürüz. düzeltilen.Append(c); //büyütülen harfi çıktı metinine ekleriz. i += 2; //döngüyü iki karakterlik ilerletiriz. continue; //döngüyü direk devam ettiriririz. } else if(i+1 < metin.Length && Char.IsLetter(metin[i+1])) // noktadan sonraki karakter mevcutsa ve noktadan sonrada bir harf varsa. { var c = Char.ToUpper(metin[i + 1]); //noktadan sonra gelen harfi büyütürüz. düzeltilen.Append(c); //büyütülen harfi çıktı metinine ekleriz. i += 1; //döngüyü 1 karakter ilerletiriz. continue; //döngüyü direk devam ettiriririz. } } } çıktı = düzeltilen.ToString(); //son olarak çıktı değişkenimizi düzeltilen metinimizle eşitliyoruz. } static void TestÇağrısı() { string XMBuffer; BaşharfKuralınıDüzelt("Cümlelerdeki ilk kelimenin baş harfi büyük olmalıdır. aksi yazım hatasıdır.mesela boşluksuz örneği budur. başında boşluk olsada algoritma güzelcene çalışır.", out XMBuffer); Console.WriteLine(XMBuffer); Console.ReadLine(); }
Herhalde ödev gibi bişey kardeşim, umarım işine yarar ve üşenmeden oturup yazdığım kodu okuyup sistemi anlamaya çalışırsın.