<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>ADogan.Net</title>
	
	<link>http://www.adogan.net</link>
	<description>Web Arayüzü Geliştirme, Programlama, Bilgisayar Mühendisliği Günlüğü</description>
	<lastBuildDate>Wed, 12 Oct 2011 00:04:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/adogan" /><feedburner:info uri="adogan" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><media:thumbnail url="http://tr.gravatar.com/userimage/23269473/620a81e66e1165e76e0d8751a9ebf269.jpeg" /><media:keywords>wordpress,html,css,php,c/c,c,bilgisayar,mühendisliği,adogan,jquery,java,script,mybb,programlama,algoritma,tasarım,tema</media:keywords><itunes:owner><itunes:email>adogannet@gmail.com</itunes:email></itunes:owner><itunes:explicit>no</itunes:explicit><itunes:image href="http://tr.gravatar.com/userimage/23269473/620a81e66e1165e76e0d8751a9ebf269.jpeg" /><itunes:keywords>wordpress,html,css,php,c/c,c,bilgisayar,mühendisliği,adogan,jquery,java,script,mybb,programlama,algoritma,tasarım,tema</itunes:keywords><itunes:subtitle>ADogan.Net</itunes:subtitle><itunes:summary>Bir Web Arayüzü Geliştirme, Programlama, Bilgisayar Mühendisliği Günlüğü...</itunes:summary><feedburner:emailServiceId>adogan</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>3.) Giriş – Çıkış – Cin, Cout, Printf, Scanf, Gets Komutları</title>
		<link>http://feedproxy.google.com/~r/adogan/~3/6KunaWHjisE/giris-cikis-cin-cout-printf-scanf-gets-komutlari.html</link>
		<comments>http://www.adogan.net/c-dersleri/giris-cikis-cin-cout-printf-scanf-gets-komutlari.html#comments</comments>
		<pubDate>Wed, 12 Oct 2011 00:02:51 +0000</pubDate>
		<dc:creator>adogannet@gmail.com</dc:creator>
				<category><![CDATA[C/C++ Dersleri]]></category>
		<category><![CDATA[çıkış]]></category>
		<category><![CDATA[cin]]></category>
		<category><![CDATA[cout]]></category>
		<category><![CDATA[gets]]></category>
		<category><![CDATA[giriş]]></category>
		<category><![CDATA[printf]]></category>
		<category><![CDATA[scanf]]></category>

		<guid isPermaLink="false">http://www.adogan.net/?p=159</guid>
		<description><![CDATA[C dilinde giriş çıkış komutları olarak cin ve cout komutları kullanılmaktadır ve bu komutlar iostream kütüphanesinde bulunmaktadır (bkz:kütüphaneler). C++ dilinde ise printf ve scanf komutlarını kullanacağız ve bu komutlar ise stdio.h kütüphanesinde bulunmaktadır. Biz uygulamalarımızda printf ve scanf kullanacağımız için öncelikle cin ve cout komutlarına yüzeysel olarak değinip ardından printf ve scanf komutlarını detaylı bir [...]]]></description>
			<content:encoded><![CDATA[<p>C dilinde giriş çıkış komutları olarak cin ve cout komutları kullanılmaktadır ve bu komutlar iostream kütüphanesinde bulunmaktadır (bkz:<a href="http://www.adogan.net/c-dersleri/cca-giris-kutuphaneler-veri-tipleri-ve-degiskenler.html#kutuphaneler" target="_blank">kütüphaneler</a>). C++ dilinde ise printf ve scanf komutlarını kullanacağız ve bu komutlar ise stdio.h kütüphanesinde bulunmaktadır. Biz uygulamalarımızda printf ve scanf kullanacağımız için öncelikle cin ve cout komutlarına yüzeysel olarak değinip ardından printf ve scanf komutlarını detaylı bir şekilde işleyeceğiz. gets komutunu ise kullanıcıdan cümle yani içinde boşluk karakteri bulunduran verileri alıp bir değişkene atarken kullanacağız (bkz:<a href="http://www.adogan.net/c-dersleri/cca-giris-kutuphaneler-veri-tipleri-ve-degiskenler.html#degiskenler" target="_blank">değişkenler</a>).<br />
<span id="more-159"></span></p>
<h2>cout Komutu :</h2>
<p>cout komutu isminden de belli olduğu üzere &#8216;out&#8217; yani dışarıya, ekrana veriyi gönderir. Göndermekten kastımız ekrana yazması. Bu komutu kullanmak için iostream kütüphanesini kullanmamız gerekmektedir. Hemen örneklerle daha detaylı açıklamalara geçelim ;</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream&gt;            //cout için gerekli kütüphane.</span>
<span style="color: #339900;">#include &lt;conio.h&gt;             //getch(); için gerekli kütüphane.</span>
&nbsp;
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>           <span style="color: #666666;">//cout ve cin komutları, iostream kütüphanesindeki</span>
                               <span style="color: #666666;">//std class'ının içinde yer almaktadır. Dolayısıyla</span>
                               <span style="color: #666666;">//Bu fonksiyounları kullanırken aslında başına std::</span>
                               <span style="color: #666666;">//eklememiz gerekmektedir. Bu kod sayesinde eklemeye</span>
                               <span style="color: #666666;">//gerek kalmaz.</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>                <span style="color: #666666;">//Ana fonksiyonun başlangıcı.</span>
      <span style="color: #0000ff;">char</span> isim<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;ADogan&quot;</span><span style="color: #008080;">;</span>
      <span style="color: #0000ff;">int</span> numara  <span style="color: #000080;">=</span> <span style="color: #0000dd;">1266</span><span style="color: #008080;">;</span>
      <span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span>isim<span style="color: #008080;">;</span>              <span style="color: #666666;">//isim değişkenini ekrana yazdırdık.</span>
                               <span style="color: #666666;">//Şuan ekranda sadece ADogan yazmaktadır.</span>
                               <span style="color: #666666;">//Sonuna &quot;;&quot; koymayı unutmayın.</span>
                               <span style="color: #666666;">//using namespace std; komutunu kullanmasaydık eğer</span>
                               <span style="color: #666666;">//std::cout&lt;&lt;isim; şeklinde kullanmamız gerekecekti.</span>
&nbsp;
      <span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span>endl<span style="color: #000080;">&lt;&lt;</span>isim<span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot; - &quot;</span><span style="color: #000080;">&lt;&lt;</span>numara<span style="color: #008080;">;</span>
                               <span style="color: #666666;">//endl (end line) komutu bir satır aşağı atlamaya</span>
                               <span style="color: #666666;">//yarar. Değişken değil de bir metin yazdırmak</span>
                               <span style="color: #666666;">//istiyorsak iki çift tırnak (&quot;...&quot;) arasına</span>
                               <span style="color: #666666;">//yazmamız gerekiyor. Ve her farklı türde şeyler </span>
                               <span style="color: #666666;">//yazdırmak istediğimizde de gördüğünüz gibi</span>
                               <span style="color: #666666;">//aralarına &lt;&lt; sembollerini ekliyoruz.</span>
&nbsp;
<span style="color: #ff0000; font-style: italic;">/*       Şuan ekranda:                                      */</span>
<span style="color: #ff0000; font-style: italic;">/*              ADogan                                      */</span>
<span style="color: #ff0000; font-style: italic;">/*              ADogan - 1266                               */</span>
<span style="color: #ff0000; font-style: italic;">/*       yazmaktadır                                        */</span>
    getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>                          <span style="color: #666666;">//Ana fonksiyonun bitişi.</span></pre></div></div>

<h2>cin Komutu :</h2>
<p>cin komutu ile kullanıcının klavye ile girdiği veriyi, daha önceden tanımladığımız bir değişkene atama işlemini gerçekleştiririz. Burada dikkat etmemiz hususlar ise şunlar;</p>
<ul>
<li>Eğer -örneğin- bir integer değişken tanımladıysak kullanıcıdan integer veri girmesini isteyeceğiz.</li>
<li>char tipindeki bir değişken için kullanıcının girdiği veride eğer boşluk karakteri varsa, sin komutu sadece boşluktan önceki kısmı değişkene atar. Boşluktan sınrası işleme sokulmaz. Bu tarz verileri almak için gets komutunu kullanmalıyız.</li>
<li>Komutlar arasında &#8220;>>&#8221; işaretini kullanmalıyız.</li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>                <span style="color: #666666;">//Ana fonksiyonun başlangıcı.</span>
    <span style="color: #0000ff;">char</span> adi<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span>, soyadi<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>  <span style="color: #666666;">//10'ar karakterlik iki tane değişken tanımladık.</span>
    <span style="color: #0000ff;">int</span> numara<span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;Lutfen Adinizi, Soyadinizi ve Numaranizi yaziniz :<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008080;">;</span>
    <span style="color: #666666;">//Yukarıdaki işlemde kullanıcının gireceği veri için</span>
    <span style="color: #666666;">//ekrana bir uyarı mesajı çıkarttık.</span>
&nbsp;
    <span style="color: #0000dd;">cin</span><span style="color: #000080;">&gt;&gt;</span>adi<span style="color: #000080;">&gt;&gt;</span>soyadi<span style="color: #000080;">&gt;&gt;</span>numara<span style="color: #008080;">;</span>  <span style="color: #666666;">//Kullanıcının girdiği verileri sırayla,</span>
                               <span style="color: #666666;">//belirttiğimiz değişkenlere atadı. Kullanıcı</span>
                               <span style="color: #666666;">//arasında birer boşluk bırakarak verileri</span>
                               <span style="color: #666666;">//girebilir ya da her girişten sonra 'enter'</span>
                               <span style="color: #666666;">//tuşu ile de verileri girebilir.</span>
&nbsp;
    <span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span>adi<span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot; &quot;</span><span style="color: #000080;">&lt;&lt;</span>soyadi<span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot; - &quot;</span><span style="color: #000080;">&lt;&lt;</span>numara<span style="color: #008080;">;</span>
    <span style="color: #666666;">//Son olarak ise kullanıcının girdiği verileri atadığımız değişkenleri,</span>
    <span style="color: #666666;">//yukarıdabelirttiğimiz düzende ekrana yazdırdık.</span>
&nbsp;
    getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>                          <span style="color: #666666;">//Ana fonksiyonun bitişi.</span></pre></div></div>

<p>Kodumuzu bitirdikten sonra f9 tuşu ile derlediğimizde aşağıdaki gibi bir uygulama ile karşılaşacağız:</p>
<div class="att-images"><img title="cout ve cin komutlarının uygulaması ve aşamalar." src="http://www.adogan.net/wp-content/uploads/2011/10/cout-ve-cin-komutlarının-uygulaması-ve-aşamalar1.gif" alt="cout ve cin komutlarının uygulaması ve aşamalar" /><br />
<strong>Resim 1:</strong> cout ve cin komutlarının uygulaması ve aşamalar.</div>
<p>Yukarıda cin komutu sayesinde kullanıcının girdiği &#8216;ahmet&#8217; verisi &#8216;adi&#8217; değişkenine, &#8216;dogan&#8217; verisi &#8216;soyadi&#8217; değişkenine, &#8217;1266&#8242; verisi ise &#8216;numara&#8217; değişkenine atandı.</p>
<h2>printf Komutu :</h2>
<p>printf komutu da cout komutu ile aynı işlemleri yapmaktadır. stdio.h kütüphanesinde bulunmaktadır. Kullanım şekli cout komutundan çok daha farklıdır. Yapısı ise <em>printf(&#8220;metin yapısı ve değişken konumları&#8221;,değişken listesi);</em> şeklindedir. printf komutunu ile ilgili önce bir örnek yapalım daha sonra dikkat etmemiz gereken noktalara değinelim;</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;stdio.h&gt; //Kütüphanemizi eklemeyi unutmuyoruz.</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
&nbsp;
<span style="color: #666666;">//printf ve scanf fonksiyonları &quot;için using namespace std;&quot;</span>
<span style="color: #666666;">//komutunu kullanmaya gerek yoktur.</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>                <span style="color: #666666;">//Ana fonksiyonun başlangıcı.</span>
    <span style="color: #0000ff;">char</span> username<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;ADogan&quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> number <span style="color: #000080;">=</span> <span style="color: #0000dd;">1266</span><span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Kullanici Adi : %s, Numara : %d&quot;</span>,username,number<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #ff0000; font-style: italic;">/*Tırnak işaretleri içerisinde metnimizin nasıl görüneceğini
      belirledik. Tırnak işaretinden sonra ise, tırnak içerisinde
      kullandığımız değişkenleri sırayla tanımladık.*/</span>
&nbsp;
    getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>                          <span style="color: #666666;">//Ana fonksiyonun bitişi.</span></pre></div></div>

<p>Yukarıdaki kodda kullandığımız %s ve %d, o alanda görünmesini istediğimiz değişkenlerin tiplerini belirtmektedir (bkz:<a href="http://www.adogan.net/c-dersleri/cca-giris-kutuphaneler-veri-tipleri-ve-degiskenler.html#veri_tipleri" target="_blank">veri tipleri</a>). En sık kullanacağımız veri tipleri aşağıda verilmiştir daha detaylı liste için mutlaka <a href="http://www.cplusplus.com/reference/clibrary/cstdio/printf/" target="_blank">cplusplus.com</a> adresini inceleyin.</p>
<ul>
<li><strong>%d :</strong> Tamsayı (decimal integer) yani int tipindeki değişkenler için kullanılır.</li>
<li><strong>%f :</strong> Kesirli sayı yani float tipindeki değişkenler için kullanılır.</li>
<li><strong>%4.2f :</strong> Kesirli sayımızın virgülden önce 4, virgülden sonra 2 basamaklı olacak şekilde yuvarlanmasını sağlar.</li>
<li><strong>%s :</strong> Dizi (string) yani char tipindeki değişkenlerin &#8216;tamamını&#8217; ekrana yazdırmak için kullanılır. (pointerlar konusunda buraya tekrar değineceğiz.)</li>
<li><strong>%c :</strong> Karakter (character) yani char tipindeki değişkenin tek bir karakteri ekrana yazar. Burada, tırnaktan çıkıp değişkenleri tanımladığımız kısımdaki değişkenin kaçıncı karakterini ekrana yazmak istiyorsak onu username[2] şeklinde belirtmeliyiz. Burada karakterlerin sırası 0&#8242;dan başlamaktadır.</li>
<li><strong>%p :</strong> İşaretçi adresi (pointer adress) tipindeki değişkenleri yani değişkenin hafızadaki adres bilgisi için kullanılır.</li>
</ul>
<p>Şimdi bunlarla ilgili birer örnek yapalım.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>                <span style="color: #666666;">//Ana fonksiyonun başlangıcı.</span>
    <span style="color: #0000ff;">char</span> username<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;ADogan&quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> number <span style="color: #000080;">=</span> <span style="color: #0000dd;">1266</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">float</span> pi <span style="color: #000080;">=</span> <span style="color:#800080;">3.1416</span><span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Numara : %d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,number<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Pi Sayisi : %f, Yuvarlanmis Hali: %.2f<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,pi,pi<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Kullanici Adi : %s, Son Karakteri : %c<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,username,username<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;'number' degiskeninin adresi : %p&quot;</span>,<span style="color: #000040;">&amp;</span>number<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #ff0000; font-style: italic;">/*  \n : Bir satır aşağı atlar.
        &amp;number : Başındaki &amp; işareti adres sembolüdür. Başına geldiği
        değişkeni artık bir adres bilgisi yapar. %p tipi sadece adres
        yollandığı zaman çalışır.                                        */</span>
&nbsp;
    getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>                          <span style="color: #666666;">//Ana fonksiyonun bitişi.</span></pre></div></div>

<p>Derlediğiniz zaman ekranda göreceğiniz metin aynen şöyledir:<br />
<strong>Numara: 1266<br />
Pi Sayisi : 3.141600, Yuvarlanmis Hali : 3.14<br />
Kullanici Adi : ADogan, Son Karakteri : n<br />
&#8216;number&#8217; degiskeninin adresi : 0028FF2C</strong></p>
<p>Buradaki adres bilgisi number değişkeni o an hafızanın neresine yazıldıysa o hücrenin adresinin 16&#8242;lık tabanda yazılmış halidir. Pointerlar dersinde tüm detayı ile adres konusunu ele alacağız.</p>
<h2>scanf Komutu :</h2>
<p>scanf komutu cin ile aynı mantıktadır. Kullanım şekli printf ile hemen hemen aynıdır. Tek farklı printf komutunda tırnak işaretleri arasına yazdığımız metin biçimi yerine, dışarıdan alınacak verilerin atanacağı değişkenlerin sırası yazılmaktadır. Hemen bi örnek ile uygulamaya geçelim;</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>                <span style="color: #666666;">//Ana fonksiyonun başlangıcı.</span>
    <span style="color: #0000ff;">char</span> username<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> number<span style="color: #008080;">;</span> <span style="color: #0000ff;">float</span> pi<span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Numara ve Pi sayisini yazin:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d %f&quot;</span>,<span style="color: #000040;">&amp;</span>number,<span style="color: #000040;">&amp;</span>pi<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Numara: %d, Pi: %.2f<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,number,pi<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">//     scanf fonksiyonunda tırnak işaretleri arasında, alınacak verinin tipini</span>
<span style="color: #666666;">//   belirttik. Tırnak işaretinden sonra ise gelen verilerin yazılacağı</span>
<span style="color: #666666;">//   değişkenlerin adreslerini belirttik. Çünkü scanf komutu aldığı veriyi</span>
<span style="color: #666666;">//   bizim belirttiğimiz adreste bulunan hücrenin içine yazar. Burada direkt</span>
<span style="color: #666666;">//   olarak değiken ismi kullanamayız. Bu çok önemli bir noktadır.</span>
&nbsp;
&nbsp;
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Kullanici Adinizi yazin:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s&quot;</span>,username<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Kullanici Adi: %s&quot;</span>,username<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">//     scanf fonksiyonu ile dışarıdan bir karakter dizisi yani char tipinde</span>
<span style="color: #666666;">//   bir veri aldık. Dikkat ederseniz tırnak işaretinden sonraki değişken</span>
<span style="color: #666666;">//   isminin başına adres sembolu getirmedik. Çünkü char tipindeki</span>
<span style="color: #666666;">//   değişkenler aslında bir 'dizi'dir. Ve char tipindeki değişkenlerin ismi</span>
<span style="color: #666666;">//   aslında bir pointer yani bir adres işaretçisidir. Burada username</span>
<span style="color: #666666;">//   aslında 10 karakterlik harf dizisinin başladığı noktanın adresini tutan</span>
<span style="color: #666666;">//   bir pointerdır. Dolayısıyla başında &amp; sembolu koymamıza gerek yoktur.</span>
<span style="color: #666666;">//   Bu dizilere özel bir durumdur. Diziler ve pointerlar konusunda daha iyi</span>
<span style="color: #666666;">//   anlaşılacaktır.</span>
&nbsp;
    getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>                          <span style="color: #666666;">//Ana fonksiyonun bitişi.</span></pre></div></div>

<p>Bu kodları derlediğiniz zaman int ve float tipindeki verilerinizi girmenizi isteyecek. Daha sonra bu verilerin atandığı değişkenleri printf komutunda belirttiğimiz şekilde ekrana yazacak. Daha sonra ise char tipinde bir veri isteyecek ve aynı işlemi tekrar yapacak&#8230; scanf komutu ise böyle çalışmaktadır.</p>
<h2>gets(); Fonksiyonu :</h2>
<p>cin ve scanf ile kullanıcıdan istediğimiz char tipindeki veri tek bir kelime olmak zorundır. Örneğin &#8220;Steve Jobs&#8221; verisini girdiğiniz zaman sadece &#8220;Steve&#8221; verisini alır ve bizim belirttiğimiz değişkene yazar. İşte bu verinin tamamını bir değişkene atama işlemini gets(); fonksiyonu ile yapabiliyoruz. gets(); fonksiyonu stdio.h kütüphanesinde bulunmaktadır. Örnek ile açıklayalım;</p>
<div class="notice">
<div><strong>Not : </strong>char tipindeki değişkenleri tanımlarken dizinin boyutunu göz önünde bulundurmayı unutmayın. Tanımlama yaparken eğer başlangıç değeri veriyorsanız boyut belirtmeniz de olur [] koymanız yeterli. Fakat başlangıç değeri vermiyorsanız mutlaka boyutunu belirtmek zorundasınız.</div>
</div>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>                <span style="color: #666666;">//Ana fonksiyonun başlangıcı.</span>
    <span style="color: #0000ff;">char</span> tam_ad<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">50</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Lutfen Isminizi ve Soyisminizi yazin :<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span>tam_ad<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Tam Adiniz: %s&quot;</span>,tam_ad<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">//     Burada gets(); fonksiyonu parametre olarak tanımladığınız char</span>
<span style="color: #666666;">//   tipindeki değişkenin adresini alır. Ve girilen verinin tamamını</span>
<span style="color: #666666;">//   oraya kaydeder.</span>
&nbsp;
    getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>                          <span style="color: #666666;">//Ana fonksiyonun bitişi.</span></pre></div></div>

<p>Böylece giriş-çıkış işlemşlerinin nasıl yapılacağını da öğrenmiş olduk. Bundan sonraki dersler ise verileri yorumlama işlemleri üzerine olacak.</p>
<img src="http://feeds.feedburner.com/~r/adogan/~4/6KunaWHjisE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adogan.net/c-dersleri/giris-cikis-cin-cout-printf-scanf-gets-komutlari.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adogan.net/c-dersleri/giris-cikis-cin-cout-printf-scanf-gets-komutlari.html</feedburner:origLink></item>
		<item>
		<title>2.) Aritmetik Deyimler, Tip Dönüşümleri, Math Kütüphanesi, Kodlama Düzeni</title>
		<link>http://feedproxy.google.com/~r/adogan/~3/Al4KPoxtG7g/aritmetik-deyimler-tip-donusumleri-math-kutuphanesi-kodlama-duzeni.html</link>
		<comments>http://www.adogan.net/c-dersleri/aritmetik-deyimler-tip-donusumleri-math-kutuphanesi-kodlama-duzeni.html#comments</comments>
		<pubDate>Sun, 09 Oct 2011 17:05:14 +0000</pubDate>
		<dc:creator>adogannet@gmail.com</dc:creator>
				<category><![CDATA[C/C++ Dersleri]]></category>
		<category><![CDATA[dönüşümleri]]></category>
		<category><![CDATA[düzeni]]></category>
		<category><![CDATA[kodlama]]></category>
		<category><![CDATA[kütüphaneler]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://www.adogan.net/?p=130</guid>
		<description><![CDATA[Bu derste matematiksel işlemlerde kullanacağımız deyimleri, farklı tiplerdeki (float, int&#8230;) matematiksel ifadeleri aynı anda kullanarak yapılacak işlemleri, matematik kütüphanesindeki fonksiyonların işlevlerini ve kullanımlarını, daha düzenli kodlama için işimizi kolaylaştıracak bazı ipuçları konularını ele alacağız. Bu dersteki işlemleri nerdeyse tüm programlarda kullanacağız. Çünkü matematiksel işlemler ve kodlarımızdaki düzen işimizin kalitesini ön plana çıkarır ve karmaşıklığı azaltır. [...]]]></description>
			<content:encoded><![CDATA[<p>Bu derste matematiksel işlemlerde kullanacağımız deyimleri, farklı tiplerdeki (float, int&#8230;) matematiksel ifadeleri aynı anda kullanarak yapılacak işlemleri, matematik kütüphanesindeki fonksiyonların işlevlerini ve kullanımlarını, daha düzenli kodlama için işimizi kolaylaştıracak bazı ipuçları konularını ele alacağız. Bu dersteki işlemleri nerdeyse tüm programlarda kullanacağız. Çünkü matematiksel işlemler ve kodlarımızdaki düzen işimizin kalitesini ön plana çıkarır ve karmaşıklığı azaltır. Öncelikle aritmetik deyimlerle başlayalım:<br />
<span id="more-130"></span></p>
<h2 id="aritmetik_deyimler">Aritmetik Deyimler :</h2>
<p>Matematiksel işlemleri yaparken kullanacağımız semboller temelde 5 tanedir. Bunlar;</p>
<ul>
<li><strong>Toplama (+) :</strong> Sağındaki ve solundaki iki bilgiyi uygun şekilde toplar. Örneğin;

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> sayi <span style="color: #000080;">=</span> <span style="color: #0000dd;">5</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">12</span><span style="color: #008080;">;</span>  <span style="color: #666666;">//5 ve 12 sayılarını toplayıp sayi değişkenine atadık.</span>
                    <span style="color: #666666;">//Şuan sayi değişkeninin değeri 17dir.</span>
sayi <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>          <span style="color: #666666;">//Bu ifade sayi = sayi + 2; anlamına gelir.</span>
                    <span style="color: #666666;">//Yani kendi değerini 2 arttırır.</span>
                    <span style="color: #666666;">//Şuan sayi değişkeninin değeri 19dur.</span></pre></div></div>

</li>
<li><strong>Çıkarma (-) :</strong> Solundaki ifadeden sağındaki ifadeyi çıkarır. Örneğin;

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> sayi <span style="color: #000080;">=</span> <span style="color: #0000dd;">12</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">5</span><span style="color: #008080;">;</span>  <span style="color: #666666;">//12'den 5 çıkarıp sayi değişkenine atadık.</span>
                    <span style="color: #666666;">//Şuan sayi değişkeninin değeri 7dir.</span>
sayi <span style="color: #000040;">-</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>          <span style="color: #666666;">//Bu ifade sayi = sayi - 2; anlamına gelir.</span>
                    <span style="color: #666666;">//Yani kendi değerini 2 azaltır.</span>
                    <span style="color: #666666;">//Şuan sayi değişkeninin değeri 0dır.</span></pre></div></div>

</li>
<li><strong>Çarpma  (*) :</strong> Sağındaki ve solundaki iki bilgiyi uygun şekilde çarpar. Örneğin;

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> sayi <span style="color: #000080;">=</span> <span style="color: #0000dd;">5</span> <span style="color: #000040;">*</span> <span style="color: #0000dd;">12</span><span style="color: #008080;">;</span>  <span style="color: #666666;">//5 ve 12 sayılarını çarpıp sayi değişkenine atadık.</span>
                    <span style="color: #666666;">//Şuan sayi değişkeninin değeri 60dır.</span>
sayi <span style="color: #000040;">*</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>          <span style="color: #666666;">//Bu ifade sayi = sayi * 2; anlamına gelir.</span>
                    <span style="color: #666666;">//Yani kendi değerini 2 ile çarpar.</span>
                    <span style="color: #666666;">//Şuan sayi değişkeninin değeri 120dir.</span></pre></div></div>

</li>
<li><strong>Bölme   (/) :</strong> Solundaki ifadeyi sağındaki ifadeye böler. Bölüm ifadesini gösterir. Örneğin;

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> sayi <span style="color: #000080;">=</span> <span style="color: #0000dd;">12</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">6</span><span style="color: #008080;">;</span>  <span style="color: #666666;">//12 sayısını 6'ya böldük ve sayi değişkenine atadık.</span>
                    <span style="color: #666666;">//Şuan sayi değişkeninin değeri 2dir.</span>
sayi <span style="color: #000040;">/</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>          <span style="color: #666666;">//Bu ifade sayi = sayi / 2; anlamına gelir.</span>
                    <span style="color: #666666;">//Yani kendi değerini 2'ye böler.</span>
                    <span style="color: #666666;">//Şuan sayi değişkeninin değeri 1dir.</span></pre></div></div>

</li>
<li><strong>Kalan Bulma (%) :</strong> En az 4 işlem kadar önemli bir deyimdir. Uygun yerlerde kullanılırsa harika işlere yarar. Sağındaki ifadenin solundaki ifadeye bölümünden kalanını verir. Örneğin;

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> sayi <span style="color: #000080;">=</span> <span style="color: #0000dd;">12</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">5</span><span style="color: #008080;">;</span>  <span style="color: #666666;">//12 sayısını 5'e bölümünden kalanı bulur.</span>
                    <span style="color: #666666;">//Ve sayi değişkenine atar.Şuan sayi değişkeninin değeri 2dir.</span>
sayi <span style="color: #000040;">%</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>          <span style="color: #666666;">//Bu ifade sayi = sayi % 2; anlamına gelir.Yani;</span>
                    <span style="color: #666666;">//Kendi değerinin 2 ile bölümünden kalanını yeni değeri yapar.</span>
                    <span style="color: #666666;">//Şuan sayi değişkeninin değeri 0dır.</span></pre></div></div>

</li>
</ul>
<h2 id="arttirma_azaltma">Arttırma ve Azaltma :</h2>
<p>Programımız çalışırken ne yaptığını, nasıl çalıştığını bilmek isteriz. Bunun için de mantıksal sayaçları devreye sokarız. Bir sayacın işleyişini belirmek için ise arttırma ve azaltma işlemlerini sık sık kullanacağız. Örneklere başladığımızda daha iyi göreceğiz. Şimdilik nasıl çalıştığını öğrenmemiz yeterli.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> sayi <span style="color: #000080;">=</span> <span style="color: #0000dd;">50</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> yeni_sayi<span style="color: #008080;">;</span>
&nbsp;
sayi<span style="color: #000040;">++</span><span style="color: #008080;">;</span>         <span style="color: #666666;">//Bu ifade sayi bilgisini 1 arttırır.</span>
                <span style="color: #666666;">//Yani sayi = sayi + 1; ile aynı anlamdadır.</span>
                <span style="color: #666666;">//Şuan sayi değeri 51dir.</span>
&nbsp;
sayi<span style="color: #000040;">--</span><span style="color: #008080;">;</span>         <span style="color: #666666;">//Yine yukarıdaki ifade ile aynı mantıkta.</span>
                <span style="color: #666666;">//Şuan sayi değeri 50dir.</span>
&nbsp;
yeni_sayi <span style="color: #000080;">=</span> sayi<span style="color: #000040;">++</span><span style="color: #008080;">;</span>   <span style="color: #666666;">//Bu işlem aslında şunları yapar;</span>
                      <span style="color: #666666;">//'önce' sayi değişkenini yeni_sayi değişkenine atar.</span>
                      <span style="color: #666666;">//'sonra' sayi değişkenini 1 arttırır.</span>
                      <span style="color: #666666;">//Şuan sayi değişkeni 51, yeni_sayi 50dir.</span>
&nbsp;
yeni_sayi <span style="color: #000080;">=</span> <span style="color: #000040;">++</span>sayi<span style="color: #008080;">;</span>   <span style="color: #666666;">//Bu işlem ise ters sırada ilerler;</span>
                      <span style="color: #666666;">//'önce' sayi değişkenini 1 arttırır.</span>
                      <span style="color: #666666;">//'sonra' sayi değişkenini yeni_sayi değişkenine atar.</span>
                      <span style="color: #666666;">//Şuan sayi değişkeni 52, yeni_sayi 52dir.</span></pre></div></div>

<p>Arttırma ve azaltma işlemleri bu şekildedir. Burada dikkat etmemiz gereken şey, bu işlemlerin sadece integer tipindeki ifadelerde yapılmasıdır.</p>
<h2 id="tip_donusumleri">Tip Dönüşümleri :</h2>
<p>Matematiksel işlemler yaparken kullandığımız <a href="http://www.adogan.net/cc-dersleri/cca-giris-kutuphaneler-veri-tipleri-ve-degiskenler.html#veri_tipleri" target="_blank">veri tipleri</a> arasındaki ilişki çok önemlidir. C/C++ dillerinde bir int ifadeyle bir float ifadeyi işleme soktuğumuzda sonuç eğer float yani kesirli bir değer çıkıyorsa biz bu ifadeyi integer yani tam sayı olarak tanımlanmış bir değişkene atayamayız. Ya da iki tane integer ifadenin bölümü eğer float bir değer ise işleme soktuğunuz değişken tipleri int olduğu için sonuç yuvarlanıp integer olarak gösterilecektir. İşte böyle durumlarda tip zorlaması dediğimiz işlemleri yapacağız. Birkaç örnek ile bunları açıklayalım;</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> sayi1 <span style="color: #000080;">=</span> <span style="color: #0000dd;">14</span>, sayi2 <span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> sonuc<span style="color: #008080;">;</span>
&nbsp;
sonuc <span style="color: #000080;">=</span> sayi1 <span style="color: #000040;">/</span> sayi2<span style="color: #008080;">;</span>  <span style="color: #666666;">//Yani 14/4= 3.5 olacağından sonuç float ifadedir.</span>
                        <span style="color: #666666;">//sonuc değişkenini int olarak tanımladığımız için</span>
                        <span style="color: #666666;">//sonuc değişkeninin yeni değeri 3 olacaktır.</span>
                        <span style="color: #666666;">//Bu sorunu çözmek için sonuc değişkenini float yapmalıyız.</span>
<span style="color: #0000ff;">float</span> sonuc<span style="color: #008080;">;</span>
sonuc <span style="color: #000080;">=</span> sayi1 <span style="color: #000040;">/</span> sayi2<span style="color: #008080;">;</span>  <span style="color: #666666;">//sonuc değişkenini float yapmamıza rağmen yine 3 olacak.</span>
                        <span style="color: #666666;">//Çünkü işleme soktuğumuz iki ifade de int.</span>
                        <span style="color: #666666;">//Sorunu çözmek için tip zorlaması yapmalıyız.</span>
sonuc <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">float</span><span style="color: #008000;">&#41;</span>sayi1 <span style="color: #000040;">/</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">float</span><span style="color: #008000;">&#41;</span>sayi2<span style="color: #008080;">;</span>
sonuc <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">float</span><span style="color: #008000;">&#41;</span>sayi1 <span style="color: #000040;">/</span> sayi2<span style="color: #008080;">;</span>
sonuc <span style="color: #000080;">=</span> sayi1 <span style="color: #000040;">/</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">float</span><span style="color: #008000;">&#41;</span>sayi2<span style="color: #008080;">;</span>    <span style="color: #666666;">//Bu işlemlerden herhangi biri sorunu çözecektir.</span>
&nbsp;
sonuc <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">float</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#40;</span>sayi1 <span style="color: #000040;">/</span> sayi2<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>  <span style="color: #666666;">//Bu ifade ise yine 3 cevabını verecektir.</span>
                                 <span style="color: #666666;">//Çünkü işlem önceliğinden dolayı önce bölme işlemi</span>
                                 <span style="color: #666666;">//yapılıp sonra tip zorlama yapılmış olacak.</span>
                                 <span style="color: #666666;">//Yani ikinci parantezin içi 3 bulunmuş olacak.</span>
                                 <span style="color: #666666;">//Ve sonuç 3.0 olacak. Buna da dikkat etmeliyiz.</span></pre></div></div>

<div class="notice">
<div><strong>Not : </strong>Yukarıdaki örnekte int sonuc; tanımlaması yaptıktan sonra tekrar float sonuc; tanımlaması yaptık. Derleyici programı çalıştırdığınızda sonuc değişkeninin daha önce tanımlandığına dair hata mesajı verir. Ben anlatmak için ardarda yazdım fakat siz eski tanımlama üzerinde değişikliğinizi yaparsanız sorunla karşılaşmazsınız.</div>
</div>
<h2 id="math_library">Math Library (Matematik Kütüphanesi) :</h2>
<p>Bazı matematiksel işlemler her ne kadar kağıt kalemle çok kolay olsa da bilgisayara bunu anlatmak satırlarca kod yazmayı gerektirebiliyor. Yine uzman kişiler tarafından hazırlanan en stabil matematiksel fonksiyonlar math.h <a href="http://www.adogan.net/cc-dersleri/cca-giris-kutuphaneler-veri-tipleri-ve-degiskenler.html#kutuphaneler" target="_blank">kütüphanesinde</a> yer almaktadır. Bunların önemli olanlarını yazacak olursak;</p>
<ul>
<li><strong>sin(x); cos(x); tan(x); :</strong> Trigonometrik fonksiyonlar.</li>
<li><strong>log(x); log10(x); :</strong> e ve 10 tabanlarında logaritma fonksiyonları.</li>
<li><strong>pow(x,y); :</strong> x üzeri y ifadesi.</li>
<li><strong>sqrt(x); :</strong> x ifadesinin karekökü.</li>
<li><strong>floor(x); ceil(x); :</strong> x ifadesinin alt ve üst sınır fonksiyonları.</li>
<li><strong>fabs(x); :</strong> x ifadesinin mutlak değeri.</li>
</ul>
<p>Gördüğünüz gibi bu ifadeler birer fonksiyondur. Parantez içine yazdığımız x veya y&#8217;lere parametre diyoruz (fonksiyonlar konusunda daha detaylı göreceğiz.). Bu parametrelerin tipi önemlidir. Fonksiyonlara gönderdiğiniz paramatre bir integer ise fonksiyonun dışar gönderdiği sonuç da integer olacaktır. Float gönderirsek float, double gönderirsek double&#8230; math.h kütüphanesindeki fonksiyonlara göndereceğimiz açı değerleri derece değil radyan cinsinden olmalıdır buna çok dikkat ediniz. (x*PI)/180 yani (x*3.14)/180 ile radyan dönüşümü yapabilirsiniz. Şimdi bunlarla ilgili birkaç örnek yapalım:</p>
<div class="notice">
<div><strong>Not : </strong>Değişken tanımlamaları ya da işlemler yaparken satır sonuna &#8220;;&#8221; koymayı unutmayalım. Çünkü &#8220;;&#8221;ler kurduğumuz cümlelerdeki &#8220;.&#8221; gibidir. Satırı tamamladığımız anlamına gelir.</div>
</div>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;math.h&gt;  //Kütüphanemizi import etmeyi unutmuyoruz.</span>
<span style="color: #0000ff;">int</span> sonuc<span style="color: #008080;">;</span>         <span style="color: #666666;">//</span>
sonuc <span style="color: #000080;">=</span> <span style="color: #0000dd;">pow</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">2</span>,<span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>  <span style="color: #666666;">//pow fonksiyonu 2'nin 4'üncü kuvvetini hesaplayıp</span>
                   <span style="color: #666666;">//cevabı sonuc değişkenine atayacak.</span>
                   <span style="color: #666666;">//yani şuan sonuc değişkeninin değer 16 olmuştur.</span>
sonuc <span style="color: #000080;">=</span> <span style="color: #0000dd;">sin</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">30</span><span style="color: #000040;">*</span><span style="color:#800080;">3.14</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">/</span><span style="color: #0000dd;">180</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//30 dereceyi radyan cinsine cevirdik ve</span>
                   <span style="color: #666666;">//sin fonksiyonuna gönderdik.</span>
                   <span style="color: #666666;">//sonuc değişkeni int olduğu için yeni değeri 0 olacaktır.</span>
                   <span style="color: #666666;">//sonuc değişkeninin tipini float yaptığımızda</span>
                   <span style="color: #666666;">//yeni değeri 0.49977 olacaktır.</span></pre></div></div>

<p>Math.h kütüphanesindeki diğer fonksiyonlar ve detayları için <a href="http://www.cplusplus.com/reference/clibrary/cmath/">cplusplus.com</a> adresinden yararlanabilirsiniz.</p>
<h2 id="kodlama_duzeni">Kodlama Düzeni :</h2>
<p>Programımızı yazarken aşağıdaki gibi bir düzen izlememiz gerekmektedir. Bu alanı lütfen dikkatlice inceleyin;</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream&gt; /***************************************************/</span>
<span style="color: #339900;">#include &lt;conio.h&gt;  /*Bu alanda kütüphaneler ve değişmezler tanımlanır.*/</span>
<span style="color: #339900;">#define PI 3.14     /***************************************************/</span>
&nbsp;
<span style="color: #ff0000; font-style: italic;">/**********************************************************************/</span>
<span style="color: #ff0000; font-style: italic;">/*Bu alanda fonksiyon,class,struct veya global değişkenler tanımlanır.*/</span>
<span style="color: #ff0000; font-style: italic;">/**********************************************************************/</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>         <span style="color: #ff0000; font-style: italic;">/************************************BAŞLANGIÇ*/</span>
      <span style="color: #0000ff;">float</span> sayi<span style="color: #008080;">;</span>       <span style="color: #ff0000; font-style: italic;">/* Burası main(ana) fonksiyonumuz.Programmızın*/</span>
                        <span style="color: #ff0000; font-style: italic;">/* Esas kodlarını burada kullanacağız.        */</span>
      getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>          <span style="color: #ff0000; font-style: italic;">/**********************************************/</span>
  <span style="color: #008000;">&#125;</span>                     <span style="color: #ff0000; font-style: italic;">/****************************************BİTİŞ*/</span>
&nbsp;
<span style="color: #ff0000; font-style: italic;">/**********************************************************************/</span>
<span style="color: #ff0000; font-style: italic;">/*             Bu alanda da fonksiyon tanımlanabilir.                 */</span>
<span style="color: #ff0000; font-style: italic;">/**********************************************************************/</span></pre></div></div>

<div class="notice">
<div><strong>Not : </strong>getch(); fonksiyonu program işlemlerini tamamladıktan sonra pencerenin kapanmamasını sağlar. Sonuçları kontrol edebilmemiz için şimdilik gerekli bir fonksiyon fakat ilerde kullanmayabilirsiniz.</div>
</div>
<p>Yukarda değindiğimiz düzen komutların doğru çalışması içindi. Şimdi de kodların düzenli durması ve anlaşılır olabilmesi için yapılması gerekenlerden bahsedelim.</p>
<p>Yazdığımız bir programın başka birisi tarafından daha net anlaşılması ve geliştirilebilmesi için bazı ufak kurallara uymamız gerekmektedir. Bunlardan en önemlisi daha alt katmanlardaki komutların daha iç sütunlara yazılmasıdır. Hemen bi örnek ile açıklayalım :</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>                  <span style="color: #666666;">//Katman1 başlangıç.</span>
   <span style="color: #0000ff;">int</span> sayi <span style="color: #000080;">=</span> <span style="color: #0000dd;">1991</span>, i<span style="color: #008080;">;</span>           <span style="color: #666666;">//Katman1 içindeki komut.</span>
   <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">1991</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>          <span style="color: #666666;">//Katman2 başlangıç.</span>
      <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Sayi : %d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,sayi<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>  <span style="color: #666666;">//Katman2 içindeki komut.</span>
      <span style="color: #008000;">&#125;</span>                          <span style="color: #666666;">//Katman2 bitiş.</span>
   <span style="color: #008000;">&#125;</span>                             <span style="color: #666666;">//Katman1 bitiş.</span></pre></div></div>

<p>Gördüğünüz gibi alt katmanlara girdikçe kodlarımızı daha içerde yazdık. Bu hem kodların anlaşılır olmasını sağlar hem de kodun nerde başlayıp nerede bittiğini daha iyi gösterir. Ayrıca bu tarz kod yazmak global bir kültür olmuştur. Alışkanlık haline getirmeniz sizin için iyi olacaktır.</p>
<img src="http://feeds.feedburner.com/~r/adogan/~4/Al4KPoxtG7g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adogan.net/c-dersleri/aritmetik-deyimler-tip-donusumleri-math-kutuphanesi-kodlama-duzeni.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adogan.net/c-dersleri/aritmetik-deyimler-tip-donusumleri-math-kutuphanesi-kodlama-duzeni.html</feedburner:origLink></item>
		<item>
		<title>1.) C/C++’a Giriş, Kütüphaneler, Veri Tipleri ve Değişkenler</title>
		<link>http://feedproxy.google.com/~r/adogan/~3/kjWULlvFHMM/cca-giris-kutuphaneler-veri-tipleri-ve-degiskenler.html</link>
		<comments>http://www.adogan.net/c-dersleri/cca-giris-kutuphaneler-veri-tipleri-ve-degiskenler.html#comments</comments>
		<pubDate>Thu, 06 Oct 2011 00:55:21 +0000</pubDate>
		<dc:creator>adogannet@gmail.com</dc:creator>
				<category><![CDATA[C/C++ Dersleri]]></category>
		<category><![CDATA[değişkenler]]></category>
		<category><![CDATA[derleyici]]></category>
		<category><![CDATA[kütüphaneler]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[veri]]></category>

		<guid isPermaLink="false">http://www.adogan.net/?p=110</guid>
		<description><![CDATA[&#8220;C/C++ Dersleri&#8221; kategorisi altında toplayacağım yazıları genel olarak şu şekilde anlatmaya çalışacağım; ilk olarak, kullanacağımız başlıca yapılar ve komutları, daha sonra ise bu öğrendiklerimiz ile ilgili örnekler ve sık kullanılan algoritmaları inceleyeceğiz. Bazı algoritmaları farklı yollardan inceleyerek zaten iyice mantığı sökmüş olacağız. Fakat burada takip edeceğiniz yazıların bir öğrencinin notlarından ibaret olduğunu lütfen unutmayın. Çünkü [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;C/C++ Dersleri&#8221; kategorisi altında toplayacağım yazıları genel olarak şu şekilde anlatmaya çalışacağım; ilk olarak, kullanacağımız başlıca yapılar ve komutları, daha sonra ise bu öğrendiklerimiz ile ilgili örnekler ve sık kullanılan algoritmaları inceleyeceğiz. Bazı algoritmaları farklı yollardan inceleyerek zaten iyice mantığı sökmüş olacağız. Fakat burada takip edeceğiniz yazıların bir öğrencinin notlarından ibaret olduğunu lütfen unutmayın. Çünkü bu dersleri hazırlamaktaki amaçlarımdan birisi de sahip olduğum bilgileri unutmamak için bir yere kaydetmektir. İnceleyeceğimiz örneklerde veya algoritmalarda belki mantık hatası ya da eksikliği olabilir. Bunlar hakkında beni yeri geldiğinde uyarırsanız hem ben düzeltirim hem de daha iyi öğrenmiş oluruz.</p>
<p>Derslerin başlangıç kısımlarının önemli olduğu düşündüğüm için bazı noktalarda iyi kavranması için biraz uzatacağım. Dolayısıyla yazıları sabırla, dikkatlice ve uygulayarak takip ederseniz inşallah faydasınız görürsünüz diye umuyorum.</p>
<p>Giriş metni için aklıma başka birşey gelmedi, geldikçe bu kısmı güncellerim zaten ;) yavaş yavaş başlayalım öyleyse&#8230;<br />
<span id="more-110"></span></p>
<h2 id="derleyici_ve_secimi">Derleyici ve Seçimi :</h2>
<p>C/C++ kodları, bir derleyici olmadan kodlanamamaktadır. Derleyici dediğimiz şey ise yazdığımız kodları daha alt seviyeli dillere yani bilgisayarın anlayacağı 1 ve 0&#8242;lardan oluşan dile çeviren bir arabirimdir. Derleyici kodlarımızı bilgisayarın anlayacağı dile çevirip daha sonra kodları çalıştırabilmemizi sağlar.</p>
<p>Bir çok derleyici mevcut. En sık kullanılan derleyiciler Microsoft Visual Studio, Dev C++, Code::Blocks, NetBeans&#8230; derleyicileridir. Bunları inceleyecek olursak;</p>
<ul>
<li><a href="http://www.codeblocks.org/" target="_blank">Code::Blocks:</a> Kodlama yaparken komutları tahmin etme ve kodları renklendirme olayı ile kod yazma işimizi oldukça kolaylaştıran bir derleyicidir. Fakat ben bunu hiç tavsiye etmiyorum. Özellikle yeni başlayanlar için el alışkanlığı kazanılması çok engelliyor engelliyor. Kodlama sırasında yaptığımız hataları bildirme konusunda da çok eksiği var.</li>
<li><a href="http://netbeans.org/" target="_blank">NetBeans:</a> C/C++ Kodlamasında iyi mi kötü mü bilmiyorum. Çünkü kurulumu esnasında bir çok ekstradan eklentiler istemekte olduğu için pek kullanma fırsatım olmadı. Ama kullananların beğendiğini çok sık duyuyorum.</li>
<li><a href="http://www.bloodshed.net/dev/devcpp.html" target="_blank">Dev C++:</a> Kesinlikle tavsiye ettiğim ve kullandığım bir derleyicidir. Hem çok hafif bir derleyici hem kurulumu kolay hem de kodlama yaparken yaptığınız hatalarda çok iyi yardımcı oluyor. Türkçe dil desteği de mevcut.(&#8220;with Mingw/GCC&#8221; versiyonunu indirin. Kurulum esnasında kütüphanelerin de yüklenmesini istediğinizi ilgili adımda belirtmeyi unutmayın.)</li>
<li><a href="https://www.dreamspark.com/Products/Product.aspx?ProductId=9" target="_blank">Microsoft Visual C++:</a> Bu derleyici ile hiç C/C++ kodlaması yapmadım. Ama Microsoft&#8217;un yıllardır geliştirdiği bir derleyici olduğu için başarılı olduğuna eminim. Yalnız çok kasıntı bir program açarken kaparken hakikaten çok canınızı sıkıyor ve lisans probleminden dolayı sıkıntı çekebilirsiniz belki. Ayrıca çok detaylı olduğu için pek tavsiye etmiyorum.</li>
</ul>
<p>Derleyicinizi kurduktan sonra nasıl kullanılacağı hakkında internetten bilgi edinmeniz işinizi kolaylaştıracaktır. Ben Dev C++ kullanıyorum. Dev C++ derleyicisinin kurulumunu yaparken kütüphaneleri de yüklemeyi unutmayın. Kodlama yaparken yazdığınız programın derlenip çalıştırılması için yapmanız gerekn tek şey f9 tuşuna basmak. Başka birşeye gerek yok.</p>
<h2 id="kutuphaneler">Kütüphaneler :</h2>
<p>Kütüphaneler isminden de anlaşılacağı gibi içinde işimizi kolaylaştıracak bilgiler bulunduran bilgi kaynaklarıdır. Bildiğimiz kütüphanelerden tek farkı içerisinde kitap değil önemli fonksiyonların olmasıdır. Bu fonksiyonlar uzman insanlar tarafından hazırlanmış en stabil yardımcı kodlardır. Bir bilgisayar (işlemci) toplam sadece 3 çeşit işlem yapar; toplama, çıkarma ve kıyaslama. Örneğin bir bölme işlemi nedir? Bölen sayının, bölünen sayı içerisinde kaç defa olduğudur değil mi? Bu da temelinde bir toplama işlemidir aslında. Bunları ilerde örneklerle inceleyeceğiz&#8230; İşte bu kütüphaneler de içlerinde öyle kodlar bulunduruyorlar ki o kodlar sayesinde yeri geldiğinde onlarca satırlık kodu tek satırlık bir kod ile halledebilmemizi sağlıyorlar.</p>
<p>Bizim şimdilik kullanacağımız belli başlı kütüphaneler ise şunlar;</p>
<ul>
<li><strong>stdio.h:</strong> gets, printf, scanf&#8230;</li>
<li><strong>math.h:</strong> sqrt, pow, fabs (matematiksel işlemler; kare, karekök gibi)&#8230;</li>
<li><strong>conio.h:</strong> getch&#8230;</li>
<li><strong>stdlib.h:</strong> rand, srand&#8230;</li>
<li><strong>string.h:</strong> strlen&#8230;</li>
<li><strong>iostream.h:</strong> cin, cout&#8230;</li>
<li><strong>time.h:</strong> time&#8230;</li>
</ul>
<p>Bu kütüphaneleri ve diğer kütüphaneleri daha detayıyla incelemek isterseniz eğer <a href="http://www.cplusplus.com/reference/" target="_blank">cplusplus.com</a> adresini inceleyebilirsiniz.</p>
<p>Kütüphaneler şu şekilde kullanılır;</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include </span>
<span style="color: #339900;">#include</span></pre></div></div>

<h2 id="veri_tipleri">Veri Tipleri :</h2>
<p>Bilgisayarın hafızasına yazmak istediğimiz verileri hafızaya yazarken, o verinin cinsini de belirtmemiz gerekmektedir. Çünkü her veri tipi için hafızada farklı büyüklüklerde yer ayrılır. Kaydettiğimiz veriyi tekrar kullanacağımız zaman da ona göre okur.</p>
<p>Bu veri tipleri ise şu şekildedir;</p>
<ul>
<li><strong>int :</strong> (integer) Tam sayıdan oluşan veriler için kullanılan veri tipidir. Sınır ise +-32768dir. İhtiyaca göre long int veya short int şeklinde de sınırlar değiştirilebilir.</li>
<li><strong>float :</strong> Kesirli sayıdan oluşan veriler için kullanılır.</li>
<li><strong>double :</strong> Çifte duyarlıklı kesirli sayıdan oluşan veriler için kullanılır.</li>
<li><strong>char :</strong> (character) karakterden (simge) oluşan veriler için kullanılır. Fakat burada girilen harfler ASCII kodlamasına göre sıralandırılır ver ona göre bir sıra numarası ile bilgisayar diline çevrilir. Örneğin &#8216;A&#8217; harfi ASCII kodlamasına göre 65. sırada yer almaktadır. Bizim girdiğimiz A harfini yeri geldiğinde kıyaslama veya kontrol etmek için kullanırken 65 olarak kullanacağız. Uygulamalara geçtiğimizde daha da iyi anlaşılacaktır.</li>
<li><strong>Bool :</strong> Mantıksal değerler yani true false tipindeki veri tipleri için kullanılır.</li>
</ul>
<p>Standart veri tipleri bu şekildedir&#8230; Fakat örneğin bir program yazarken bazen öyle durumlar olur ki elimizde yüzlerce int tipinde veri olur ve bunları kullandıktan sonra bir sorunla karşılaşırız ve bu verilerin tipini float yapmamız gerekebilir. işte bu tarz sorunlarda işimizi kolaylaştırmak için <strong>&#8220;typedef&#8221;</strong> komut kullanılmaktadır. typedef komutu ile kendi veri tipimizi oluştururuz.</p>
<p>Kullanımı ise şu şekildedir ( typedef veri_tipi yeni_isim; ) ;</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> para_birimi<span style="color: #008080;">;</span></pre></div></div>

<p>Bu kod ile para_birimi diye bir veri tipi oluşturmuş olduk. İleride bir sorunla karşılaştığımızda değerleri tek tek float yapmak yerine yukarıdaki satırdaki int değerini float yapmamız işi çözecektir.</p>
<h2 id="degiskenler">Değişkenler :</h2>
<p>C/C++ ve diğer tüm programlama dillerinde değişkenler kullanılmaktadır. Verilerimizi hafızaya yazabilmemiz için bilgisayar bize hafızada bir yer ayırmaktadır. İşte bizim için ayrılan bu alana veya bu alanın ismine biz değişken diyebiliriz. O an tanımladığımız değişken hafızanın neresinde oluşturulduysa o değişken artık o hafıza alanının adıdır. Başka birşey için olağanüstü durumlar dışında kullanamayız.</p>
<p>Değişkenleri şu şekillerde tanımlarız;</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> sayi<span style="color: #008080;">;</span> <span style="color: #666666;">//int tipinde sayi isimli bir değişken.</span>
<span style="color: #0000ff;">float</span> kesirli_sayi<span style="color: #008080;">;</span> <span style="color: #666666;">//float tipinde kesirli_sayi isimli bir değişken.</span>
<span style="color: #0000ff;">int</span> sayi_bir, sayi_iki, sayi_uc<span style="color: #008080;">;</span> <span style="color: #666666;">//int tipinde değişkenleri tek satırda tanımladık.</span>
<span style="color: #0000ff;">char</span> isim<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>  <span style="color: #666666;">//10 karakterlik char tipinde bir karakter değişkeni tanımladık.</span></pre></div></div>

<p>Bu değişkenlere başlangıç değerleri de verebiliriz. char tipindeki değişkenler aslında bir dizidir. Bunları diziler konusunda daha detaylı göreceğiz o yüzden üstlerine fazla düşmeyeceğiz şimdilik.</p>
<div class="notice">
<div><strong>Not : </strong>C/C++ derleyicileri bir satırda çift eğik çizgiden (//) sonrasını, /* ve */ arasını okumaz. Böyle alanlara yorum alanı deriz. Bu alanlara istediğimiz açıklamaları yazabiliriz.</div>
</div>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> sayi <span style="color: #000080;">=</span> <span style="color: #0000dd;">250</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">float</span> kesirli_sayi <span style="color: #000080;">=</span> <span style="color:#800080;">15.10</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">char</span> isim<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;ADogan&quot;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//Başlangıç değerleri verirken boyut belirtmesek de olur.</span></pre></div></div>

<p>Değişkenlerin tuttukları veriler daha sonradan değiştirilebilir. Ama bu yöntem pek sağlıklı olmaz. Algoritmamızı hazırlarken böyle sorunların çıkmamasına dikkat etmeliyiz.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> sayi <span style="color: #000080;">=</span> <span style="color: #0000dd;">500</span><span style="color: #008080;">;</span> <span style="color: #666666;">//İlk değer.</span>
..... <span style="color: #666666;">//diğer kodlar.</span>
sayi<span style="color: #000080;">=</span> <span style="color: #0000dd;">1259</span><span style="color: #008080;">;</span> <span style="color: #666666;">//Son değer. Artık bu kullanılır.</span></pre></div></div>

<h2 id="degismezler">Değişmezler</h2>
<p>Değişkenlerin tuttukları gördüğünüz üzere daha sonrada yeni bir atama ile değiştirilebilmektedir. Fakat değişmezlerde bu böyle değildir. Daha sonrada değiştirilmesini istemediğimiz değişkenleri tanımlarken #define kodunu kullanırız. Kullanım şekli ise şöyledir;</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#define PI_SAYISI 3.14 //Sonda &quot;;&quot; ve &quot;=&quot; işaretleri yok.</span>
                       <span style="color: #666666;">//Değişmez ismi büyük harflerle yazılır.</span>
&nbsp;
PI_SAYISI <span style="color: #000080;">=</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">;</span>         <span style="color: #666666;">//Hiçbir etki göstermeyecektir.</span></pre></div></div>

<p>Giriş konumuz bu kadar. Kodların içine gömülme vakti yaklaşıyor ;)</p>
<img src="http://feeds.feedburner.com/~r/adogan/~4/kjWULlvFHMM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adogan.net/c-dersleri/cca-giris-kutuphaneler-veri-tipleri-ve-degiskenler.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.adogan.net/c-dersleri/cca-giris-kutuphaneler-veri-tipleri-ve-degiskenler.html</feedburner:origLink></item>
		<item>
		<title>WordPress Threaded Comments (kademeli yorumlar) Özelliğinin Uygulanması</title>
		<link>http://feedproxy.google.com/~r/adogan/~3/H3m_BJqmCw4/wordpress-threaded-comments-kademeli-yorumlar-ozelliginin-uygulanmasi.html</link>
		<comments>http://www.adogan.net/wordpress-2/wordpress-threaded-comments-kademeli-yorumlar-ozelliginin-uygulanmasi.html#comments</comments>
		<pubDate>Wed, 10 Aug 2011 21:16:28 +0000</pubDate>
		<dc:creator>adogannet@gmail.com</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Comments]]></category>
		<category><![CDATA[Kademeli]]></category>
		<category><![CDATA[Threaded]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[Yorumlar]]></category>

		<guid isPermaLink="false">http://www.adogan.net/?p=47</guid>
		<description><![CDATA[WordPress 2.7 versiyonu ile eklenen bir özellik olan &#8216;Threaded Comments&#8217;, WordPress Türkiye Ekibi&#8217;nin çevirisi ile: &#8216;Kademeli Yorumlar&#8217; özelliği; yazınıza yapılan yorumların herhangi birisine tekrar cevap verildiğinde, verilen cevabı ilgili yorumun hemen altına ekleyen bir eklenti veya uygulamadır. Bu özellik sayesinde alıntı eklentilerini kullanmaktan veya &#8216;@&#8217; ile cevap vereceğimiz kişiye seslenme zahmetlerinden ciddi bir şekilde kurtuluyoruz. [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress 2.7 versiyonu ile eklenen bir özellik olan &#8216;Threaded Comments&#8217;, WordPress Türkiye Ekibi&#8217;nin çevirisi ile: &#8216;Kademeli Yorumlar&#8217; özelliği; yazınıza yapılan yorumların herhangi birisine tekrar cevap verildiğinde, verilen cevabı ilgili yorumun hemen altına ekleyen bir eklenti veya uygulamadır. Bu özellik sayesinde alıntı eklentilerini kullanmaktan veya &#8216;@&#8217; ile cevap vereceğimiz kişiye seslenme zahmetlerinden ciddi bir şekilde kurtuluyoruz. Hem de blogumuza görsel açıdan son derece hoş bir görünüm ve düzen sağlıyor.</p>
<p>Threaded Comments özelliği WordPress&#8217;in default teması olan <a href="http://wordpress.org/extend/themes/twentyeleven" target="_blank">Twentyeleven</a> teması tarafından desteklenmektedir (Resim 1). Fakat <a href="http://wordpress.org/extend/themes/twentyten" target="_blank">Twentyten</a> teması bu özelliği desteklememektedir. Sanıyorum çoğu WordPress Teması halen desteklememekte. Bu özelliğin kullanımı ile ilgili <a href="http://codex.wordpress.org/Main_Page" target="_blank">WordPress Codex</a> sayfasında da çok detaylı bir bilgi ben bulamadım. Türkçe kaynak da bulamadım. Hatta ve hatta &#8216;tam&#8217; anlamıyla açıklayan bir ingilizce kaynak da bulamadım. Farklı kaynaklardan topladığım bilgilerle size Threaded Comments özelliğinin, kendi tasarladığınız temalara nasıl uygulayacağınızı anlatmaya çalışacağım.<br />
<span id="more-47"></span></p>
<div class="att-images"><img title="Resim 1: WordPress Twentyeleven temasındaki Threaded Comments özelliği." src="http://www.adogan.net/wp-content/uploads/2011/08/twentyeleven-threaded-comments-caps.gif" alt="Twentyeleven Threaded Comments Caps" /><br />
<strong>Resim 1:</strong> WordPress Twentyeleven temasındaki Threaded Comments özelliği.</div>
<h2>Uygulama Adımları :</h2>
<ul>
<li>Threaded Comments özelliğini kullanacağınız şekilde yorumlar alanınızın Html ve Css kodlamasını bitirmek.</li>
<li>Dashboard üzerinden Threaded Comments Özelliğini aktif hale getirip, seviyesini belirlemek.</li>
<li>&#8216;comment-reply&#8217; Scriptini header.php dosyasına import etmek.</li>
<li>Daha önceden hazırlamış olduğumuz comments.php dosyasında gerekli değişiklikleri yapmak.</li>
<li>functions.php dosyasına gerekli fonksiyonu yazmak.</li>
</ul>
<div class="notice">
<div><strong>Not : </strong>Anlatacağım kısımlarda yorumlama alanının tasarımı adına hiçbir şeye değinmeyeceğim. Çünkü orası bambaşka bir konu. Size sadece genel mantığını ve uygulanmasını anlatacağım. Tasarım kısmı size ait.</div>
</div>
<h2>Dikkat Edilecek Noktalar :</h2>
<ul>
<li>Her bir yorumun ve yorum yapma formunun bulunduğu alan sabit bir genişlik değerine sahip olmayacak. Yani % hesabıyla çalışmalısınız çünkü alt kademeye geçtikce yorum alanı daralacak. (Tabi siz bambaşka bir tasarım düşünüyorsanız orası size kalmış.)</li>
<li>Yorumun tasarımını tamamen kapsayacak bir kapsül içine almalısınız (div, li&#8230; gibi en dışarıda bir kapsül ile yorum alanı toplanmış olmalı.)</li>
</ul>
<p>İlk adımı bitirip Html ve CSS kodlamanızı bitirdiyseniz uygulamaya başlıyalım;</p>
<h3>Threaded Comments Özelliğini Aktif Hale Getirmek :</h3>
<p>Admin Paneli (wp-admin) / Ayarlar / Tartışma / Kademeli yorumlara &#8217;5&#8242; seviyesine kadar izin ver.<br />
Seçeneğini içaretleyin, seviyeyi kafanıza göre belirleyin ve kaydedin.</p>
<h3>&#8216;comment-reply&#8217; Script&#8217;ini Import Etmek :</h3>
<p>header.php dosyasını açın ve aşağıdaki kodu bulun;</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> wp_head<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Ve üst kısmına aşağıdaki kodları ekleyin;</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> is_singular<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> wp_enqueue_script<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'comment-reply'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Bu kod Tekil Yazılar açıldığında bu Script&#8217;i aktif hale getirecek. Siz bu yorumları Özel Sayfalarda da yani page.php formatının açıldığı sayfalarda da aktif hale getirmek istiyorsanız;</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> is_singular<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> or is_page<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> wp_enqueue_script<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'comment-reply'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Kodunu kullanın&#8230; Tüm sayfalarda aktif olsun isterseniz de;</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> wp_enqueue_script<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'comment-reply'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Kodunu kullanın.</p>
<h3>&#8216;comments.php&#8217; Dosyasını Düzenlemek :</h3>
<p>comments.php dosyasında, yorumları aşağıdaki fonksiyonu kullanarak çekeceğiz. Bunun dışında hazırladığınız bir yorum şablonu ya da fonksiyonu varsa onu kullanamazsınız. Ama o tarzı yine 4. aşamada hazırlayacağımız fonksiyonda uygulayabilirsiniz&#8230; Aşağıdaki kodu comments.php&#8217;de uygun yere ekleyelim;</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;ol class=&quot;commentlist&quot;&gt;
    <span style="color: #000000; font-weight: bold;">&lt;?php</span> wp_list_comments<span style="color: #009900;">&#40;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'callback'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'yorum_fonksiyonunun_adi'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;/ol&gt;</pre></div></div>

<p>Bu fonksiyonun ol tagleri arasında olmasına dikkat edelim. Yoksa sonuç başarılı olmayacaktır&#8230; Fonksiyonun içindeki arrayde kullandığımız callback son aşamada functions.php dosyasına yazacağımız yorum fonksiyonunun ismidir. O kısmı düzenlemeyi unutmayın.<br />
wp_list_comments() fonksiyonunun parametreleri ve özelliklerini <a href="http://codex.wordpress.org/Function_Reference/wp_list_comments#Description" target="_blank">buradan</a> inceleyebilirsiniz.</p>
<p>Yorum yapma formunu da yine kendi kafamıza göre yazamıyoruz. Bunun için aşağıdaki fonksiyonu kullanacağız. Aşağıdaki kodları, yukarıdaki kodu eklediğiniz yerin altında olacak şekilde uygun yeri bulup ekleyin ve devam edelim;</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> comment_form<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>comment_form() Fonksiyonu normalde bu haliyle wordpress&#8217;in varsayılan yorum formu stilini kullanarak ekler. Fakat bu fonksiyon parametre olarak yine çok yerinde array&#8217;ler alıyor ve bu sayede istediğiniz tarzı verebilirsiniz. Bunun için <a href="http://codex.wordpress.org/Function_Reference/comment_form#Description" target="_blank">buradaki</a> açıklamaları kullanarak işinizi halledebilirsiniz.</p>
<div class="notice">
<div><strong>Not : </strong>WordPress standartına uygunolması açısından, comments.php dosyasının içindeki kodlarının tamamını kapsayan kapsülün : &lt;div id=&#8221;comments&#8221;&gt; olmasına dikkat edin.</div>
</div>
<h3>&#8216;functions.php&#8217; Dosyasını Düzenlemek :</h3>
<p>İlk olarak functions.php dosyasına aşağıdaki kodları eklemekle başlayalım.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> yorum_fonksiyonunun_adi<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$comment</span><span style="color: #339933;">,</span> <span style="color: #000088;">$args</span><span style="color: #339933;">,</span> <span style="color: #000088;">$depth</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$GLOBALS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$comment</span><span style="color: #339933;">;</span>
    <span style="color: #339933;">&lt;</span>li <span style="color: #000000; font-weight: bold;">&lt;?php</span> comment_class<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> id=&quot;li-comment-<span style="color: #000000; font-weight: bold;">&lt;?php</span> comment_ID<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;
        &lt;article id=&quot;comment-<span style="color: #000000; font-weight: bold;">&lt;?php</span> comment_ID<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; class=&quot;comment&quot;&gt;
        	//Buraya tasatımını yaptığınız yorum kapsülünün kodları gelecek.
        &lt;/article&gt;
}
?&gt;</pre></div></div>

<p>Burada comments.php dosyasında çağırdığımız fonksiyonu tanımladık. comments.php dosyasındaki wp_list_comments() fonksiyonu, bu fonksiyondaki şablon kullanılarak veritabanından yorumları alıp tek tek sıralayacak. Dikkat ettiyseniz li tagini kapatmadık. Çünkü bu fonksiyon li tagini kendisi kapatıyor. Sıralarken ise Resim 2&#8242;deki gibi bir listeleme uygulayacak.</p>
<div class="att-images"><img src="http://www.adogan.net/wp-content/uploads/2011/08/listing-steps.gif" alt="Threaded Comment System" /><br />
<strong>Resim 2:</strong> Yorumların listelenme şekli.</div>
<p>Sistemin işleyişi bu şekilde&#8230; Yorum alanı kapsülünü hazırlarken <a href="http://codex.wordpress.org/Function_Reference/wp_list_comments#Comments_Only_With_A_Custom_Comment_Display" target="_blank">buradaki</a> fonksiyon örneğindeki kodları kullanabilirsiniz.<br />
Yorum alanına cevaplama linkini eklemek için de aşağıdaki kodu kullanacaksınız;</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> comment_reply_link<span style="color: #009900;">&#40;</span>
    <span style="color: #990000;">array_merge</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$args</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'reply-text'</span><span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Cevapla'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'depth'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$depth</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'max_depth'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$args</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'max_depth'</span><span style="color: #009900;">&#93;</span>
    <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Bu koddaki $args['max_depth'] kısmı, makalenin başında admin panelinden ayarladığımız kademeli yorum seviyesidir. comment_reply_link() fonksiyonunu <a href="http://codex.wordpress.org/Function_Reference/comment_reply_link#Description" target="_blank">buradan</a> daha detaylı inceleyebilirsiniz.<br />
Cevapla linkine tıklandığında yorum formu article  taglerinin hemen bitişine yerleşecektir. Tasarımınızı yine buna göre ayarlamanız gerekmektedir.</p>
<h4>Kaynaklar</h4>
<ul>
<li><a href="http://www.niharsworld.com/2008/12/16/how-to-implement-threaded-comments-in-wordpress-themes" target="_blank">http://www.niharsworld.com/2008/12/16/how-to-implement-threaded-comments-in-wordpress-themes/</a></li>
<li><a href="http://codex.wordpress.org/Function" target="_blank">http://codex.wordpress.org/Function</a></li>
<li><a href="http://bavotasan.com/2009/how-to-add-nested-comments-to-your-wordpress-theme/" target="_blank">http://bavotasan.com/2009/how-to-add-nested-comments-to-your-wordpress-theme/</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/adogan/~4/H3m_BJqmCw4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adogan.net/wordpress-2/wordpress-threaded-comments-kademeli-yorumlar-ozelliginin-uygulanmasi.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://www.adogan.net/wordpress-2/wordpress-threaded-comments-kademeli-yorumlar-ozelliginin-uygulanmasi.html</feedburner:origLink></item>
		<item>
		<title>Tema Hakkında Ayrıntılar ve Siftah Yazısı</title>
		<link>http://feedproxy.google.com/~r/adogan/~3/PRX9wtF0_t4/tema-hakkinda-ayrintilar-ve-siftah-yazisi.html</link>
		<comments>http://www.adogan.net/genel/tema-hakkinda-ayrintilar-ve-siftah-yazisi.html#comments</comments>
		<pubDate>Sun, 29 May 2011 15:40:50 +0000</pubDate>
		<dc:creator>adogannet@gmail.com</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[yeni tema]]></category>

		<guid isPermaLink="false">http://www.adogan.net/?p=15</guid>
		<description><![CDATA[Sonunda blogu yayınlamayı başardım :) vay be şaka gibi tam 10 ay olmuş bu domaini alalı. Okul, dersler, özel problemler vs. derken çok az zaman ayırarak yapabildiğim tasarımı xHml, CSS&#8217;e dökmek sonra onu WordPress&#8217;in yeniliklerini öğrenerek entegre etmek derken hayli zaman geçmiş. Ama sonunda başardım :) Bundan sonra her fırsatta yazılar yazıp uygulamalar paylaşacağım inşallah&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p class="yazip">Sonunda blogu yayınlamayı başardım :) vay be şaka gibi tam 10 ay olmuş bu domaini alalı. Okul, dersler, özel problemler vs. derken çok az zaman ayırarak yapabildiğim tasarımı xHml, CSS&#8217;e dökmek sonra onu WordPress&#8217;in yeniliklerini öğrenerek entegre etmek derken hayli zaman geçmiş. Ama sonunda başardım :) Bundan sonra her fırsatta yazılar yazıp uygulamalar paylaşacağım inşallah&#8230; Şimdi temadan bahsedelim;</p>
<h2 style="margin-top: 25px;">Tasarım Safhası</h2>
<p class="yazip">Blog&#8217;u çizerken bir çok tema inceledim, yazılar okudum, fikir aldım&#8230; ve sonra fazla renkli olmayan, klasik fakat son modaya da uygun bir tasarım yapmam gerektiğine karar verdim. Uzun düşünmeler ve uğraşlar sonucunda bu tasarımı çizmeyi başardım ve umarım güzel olmuştur. Her zamanki gibi yazı tipleri sorunu beni yine uğraştırdı ve Calibri, Ayita ve Arial yazı tipleri ile işin içinden sorunsuzca çıktım. Renk olarak da beyaz arkaplanda gri ve sarı tonlarındaki renkleri kullandım. Kafamdaki tasarımı direkt tek PSD&#8217;de çizerek işi bitirmeye çalıştım. Tasarımı laptopta yapmak zorunda kaldığım için monitör renk seçimim konusunda beni çok yanılttı. Çizdiğim tasarım farklı bilgisayarlarda benim çizdiğimden çok daha farklı tonlarda görüntüleniyordu. Bunu da farklı bilgisayarlarda tonları deneyerek hallettim (en kısa zamanda masaüstü bilgisayara geçiş yapmalıyım&#8230;).</p>
<p><span id="more-15"></span></p>
<h2>Tasarımı xHtml, Css ve JavaScript&#8217;e Döküm Safhası</h2>
<p class="yazip">Photoshop kullanarak çizdiğim tasarımı direkt WordPress&#8217;e entegre etme hatasına düşmedim bu sefer. Bu sayede hem W3C Validation&#8217;a uygun kod yazdım hem de daha derli toplu bi kod ortaya çıktı. Header&#8217;a jQuery kullarak hazırladığım bir menu koydum. Ayrıca jQuery&#8217;yi Sidebar&#8217;daki &#8216;Sponsor&#8217; bölümündeki büyük afişi ters çevirmek için de kullandım. Footer&#8217;da ise Tabmenu&#8217;deki geçiş sırasında jQuery&#8217;nin fade nimetini kullandım. Standartların dışında yazı tipi kullanabilmek için @font-face yöntemini tercih ettim. Footer&#8217;ın bir kısmı haricinde tasarımın tamamında Calibri yazı tipini kullandım. Başlıklarda ise Ayita&#8230; Kodlama esnasında IE 7,8,9, FireFox, Chrome, Opera ve Safari tarayıcılarını baz aldım ve onlara göre iyileştirmeler yaptım. Yani kısaca Internet Explorer 6 umrumda bile değil.</p>
<h2>Tasarımı WordPress&#8217;e Entegre Safhası</h2>
<p class="yazip">Bir kez daha aşık etti beni kendine bu script. WordPress&#8217;in fonksiyonları dışında kullanmak zorunda olduğum eklentiler oldu. Bunlar;</p>
<ul>
<li>İletişim sayfası için Contact Form 7,</li>
<li>RSS hizmeti için FeedBurner FeedSmith,</li>
<li>Yorumlar için IntenseDebate,</li>
<li>Navigasyon için Yoast Breadcrumbs,</li>
</ul>
<p class="yazip">Footerdaki Tabmenu için (Son Yorumlar, Son Yazılar, Popüler Yazılar) ufak üç tane fonksiyon hazırladım. Ve bunlar işimi çok kolaylaştırdı. Tasarımı yaparken öğrendiğim şeylerden birisi de buydu.</p>
<h2>Yorumlama Sistemi</h2>
<p class="yazip">Yazılara eklenecek yorumları IntenseDebate uygulaması ile bütünleştirdim. Bu harika uygulama sayesinde hem yorumları kontrol etmek daha kolay oldu hem de bana büyük bir zaman kazancı sağladı.</p>
<h2>Sosyal Ağ</h2>
<p class="yazip">Kişisel hesaplarımla blogumu bütünleştirdim ve artık FriendFeed, Twitter, FaceBook ağlarında takipleşebileceğiz. Bunlar dışında Flickr, GooGLe gibi ağlarda da zamanla bulunacağım. Ayrıca Twitter veya FriendFeed ile blog arasına ilgiye göre uygulamalarından yararlanarak bir köprü de kurmayı düşünüyorum daha sonra.</p>
<img src="http://feeds.feedburner.com/~r/adogan/~4/PRX9wtF0_t4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adogan.net/genel/tema-hakkinda-ayrintilar-ve-siftah-yazisi.html/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<feedburner:origLink>http://www.adogan.net/genel/tema-hakkinda-ayrintilar-ve-siftah-yazisi.html</feedburner:origLink></item>
	<media:rating>nonadult</media:rating><media:description type="plain">ADogan.Net</media:description></channel>
</rss>

