Merhabalar. Bu hafta string konusuna geçiş yaptık okulda. Ufak çapta bir ödev teslim yapmam gerekli. Soru şu. Bize verilen bir string' i. Örneğin "MustafaKemalAtaturk" Bunu, içindeki büyük harf sayısına göre parçalıcak ve tek tek ekrana yazdırıcak.
Program interaktif şu şekilde olmalı: Enter a full name> MustafaKemalAtaturk
There are first, middle & last names: first: Mustafa middle: Kemal last: Ataturk ------------------------------------------------------- Diğer bir şekilde 2 isim olursa. Enter a full name> MustafaKemal
There are first & last names: first: Mustafa last: Kemal
Eğer 1 veya 4 ve 4' den büyük isimler olursa Program ekrana "Invalid Names" olarak prompt vericek.
String konusunda o kadar iyi değilim. bu yüzden gerçekten yardımınızı istiyorum. Gece en geç 24.00 e kadar mail atmam gerekiyor. Şimdiden teşekkürler.
< Bu mesaj bu kişi tarafından değiştirildi saxahan -- 25 Mart 2010; 20:44:38 >
Siz sadece okulunuzun verdiği bilgiylemi yetiniyorsunuz? Kendi başınıza çalışmayı denediniz mi? İsteksiz olduğunuz bir işi zorla yaparak nasıl mühendis olacaksınız? Şu okulların yazılım eğitimini gerçekten merak etmeye başladım doğrusu... Neyse ben sana bir amatör olarak biraz teorik bilgi vereyim kodu kendin yazmayı dene.
String dediğimiz karakter katarının her bir karakteri 1 baytlık bir sayıdır. Her birinin tipi char'dır. Demekki string aslında 1 baytlık sayılardan oluşan ve bellekte art arda gelen bir sayı dizisidir. Bir sayı karakter olarak yorumlanıyorsa artık o sayı, o karakterin ASCII numarasıdır. Şu adresten ascii tablosuna baktığın zaman her karakterin bir numarası olduğunu görürsün. http://www.asciitable.com/
Tabloya dikkat edersen büyük harfler önce gelir ve son büyük harfin ascii kodu 90'dır. Yani bir karakterin numarası 90'dan büyük ise küçük harf, değilse büyük harf'tir diyebiliriz. Bir fikir verdi mi? Senin yapman gereken bir döngü içinde dizinin sonuna kadar gitmek ve karakterleri, yani sayıları teker teker karşılaştırmak. Peki bir karakter dizisinin sonunu nasıl bileceğiz? Kodun içinde sabit bir string yazdığımız, veya çalışma zamanında giriş yağtığımız zaman derleyici dizinin sonuna bir NULL karakteri ekler. Bu karakter, ascii tablosunun ilk, yani 0 numaralı karakteridir. Bunu döngüyü bitirmek için kontrol amaçlı kullanırız.
Bir harfin büyük mü küçük mü olduğunu anlamanın çok kolay bir yolu daha var. Ascii numarasının 5 numaralı biti 0 ise harf büyük, 1 ise harf küçüktür. Ama bunun kontrolünü yapabilmek için bit operatörlerini bilmek gerekir. Biliyorsan bu şekilde yapman daha iyi olur bence.
Eğer gene yazamam diyorsan bir iki kelam kodda yazarız artık. Ama önce kendin dene.
Bize verilen bir string' i. Örneğin "MustafaKemalAtaturk" Bunu, içindeki büyük harf sayısına göre parçalıcak ve tek tek ekrana yazdırıcak.
Program interaktif şu şekilde olmalı:
Enter a full name> MustafaKemalAtaturk
There are first, middle & last names:
first: Mustafa middle: Kemal last: Ataturk
-------------------------------------------------------
Diğer bir şekilde 2 isim olursa.
Enter a full name> MustafaKemal
There are first & last names:
first: Mustafa last: Kemal
Eğer 1 veya 4 ve 4' den büyük isimler olursa Program ekrana "Invalid Names" olarak prompt vericek.
String konusunda o kadar iyi değilim. bu yüzden gerçekten yardımınızı istiyorum. Gece en geç 24.00 e kadar mail atmam gerekiyor. Şimdiden teşekkürler.
< Bu mesaj bu kişi tarafından değiştirildi saxahan -- 25 Mart 2010; 20:44:38 >