<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>İlhan Bahar &#187; c++</title>
	<atom:link href="http://www.ilhanbahar.com/tag/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ilhanbahar.com</link>
	<description>Kişisel Blog</description>
	<lastBuildDate>Sun, 29 Jan 2012 20:36:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Programlama Dillerinin Geleceği</title>
		<link>http://www.ilhanbahar.com/programlama-dillerinin-gelecegi/</link>
		<comments>http://www.ilhanbahar.com/programlama-dillerinin-gelecegi/#comments</comments>
		<pubDate>Thu, 30 Sep 2010 22:11:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Bilişim]]></category>
		<category><![CDATA[Güncel Haberler]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[programlama dilleri]]></category>

		<guid isPermaLink="false">http://www.ilhanbahar.com/?p=951</guid>
		<description><![CDATA[Birçok kişi hangi programlama dilinde ilerlemesi gerektiğine dair tereddütler yaşar. Herkes çevresinden duydukları ile yol almaya çalışır. Kimi zaman bu durum, yanlış yönelmelere sebebiyet verebilir. Örneğin; bir dönem popüler olan bir dil, biranda önemi yitirebilir. Bu da sizin tüm emeklerinizin boşa gitmesine sebep olur. Tiobe.com&#8216;da gördüğüm araştırma, sizin bu sorulara yanıt bulmanızı sağlayabilir. C programlama [...]]]></description>
			<content:encoded><![CDATA[<p>Birçok kişi hangi <a href="http://www.ilhanbahar.com/tag/programlama/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Programlama">programlama</a> dilinde ilerlemesi gerektiğine dair tereddütler yaşar. Herkes çevresinden duydukları ile yol almaya çalışır. Kimi zaman bu durum, yanlış yönelmelere sebebiyet verebilir. Örneğin; bir dönem popüler olan bir dil, biranda önemi yitirebilir. Bu da sizin tüm emeklerinizin boşa gitmesine sebep olur.</p>
<p><a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html" target="_blank">Tiobe.com</a>&#8216;da gördüğüm araştırma, sizin bu sorulara yanıt bulmanızı sağlayabilir. <strong>C</strong> programlama dilinin dünya çapında ne kadar yaygın olduğunu gördüğünüzde şaşıracaksınız.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.tiobe.com/content/paperinfo/tpci/images/tpci_trends.png" alt="" width="512" height="384" /></p>
<p>Dünya sıralamasında, en yaygın dil olarak <strong><a href="http://www.ilhanbahar.com/tag/java/" class="st_tag internal_tag" rel="tag" title="Posts tagged with java">Java</a></strong> hemen ardından<strong> C</strong> dili gelmektedir. Ülkemizde malesef <strong>C</strong> ve<strong> <a href="http://www.ilhanbahar.com/tag/c/" class="st_tag internal_tag" rel="tag" title="Posts tagged with c++">C++</a></strong> dillerine çok rağbet yoktur. Fakat dünya&#8217;da yaygın olarak kullanıldığı için bu dalga bir süre sonra ülkemize de gelecektir. Paylaştığım linki, karar vermemiş arkadaşların dikkatle incelemesini öneririm. Detaylı analizlere sahip araştırma ile geleceğinize emin adımlarla gidebilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilhanbahar.com/programlama-dillerinin-gelecegi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>2 saatte bir mail atan Windows Servis</title>
		<link>http://www.ilhanbahar.com/2-saatte-bir-mail-atan-windows-servis/</link>
		<comments>http://www.ilhanbahar.com/2-saatte-bir-mail-atan-windows-servis/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 09:25:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asp .Net]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[mail at]]></category>
		<category><![CDATA[mail atan]]></category>
		<category><![CDATA[mail gönderme]]></category>
		<category><![CDATA[w servis]]></category>
		<category><![CDATA[windows service]]></category>

		<guid isPermaLink="false">http://www.ilhanbahar.com/?p=840</guid>
		<description><![CDATA[Bilgisayarda biz farkında olmadan arka planda sessiz sedasız çalışmalarını yürüten, hizmetlerden bahsedeceğiz. BilgisayarımYönetHizmetler gelerek bahsettiğim hizmetleri görebilirsiniz. Projemde bana lazım olan 2 saatte bir kontrol yapan, bir Windows servis yazacağız. Yazacağımız Windows servis, bir Timer aracılığı ile  Mssql veritabanımızı kontrol edip, istediğimiz koşul gerçekleştiğinde, mail gönderecektir. Sanırım burada açıklamaktansa kodları yazmak daha anlaşılır olacaktır. Bu [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ilhanbahar.com/wp-content/uploads/2010/08/win2k82.jpg"><img class="alignleft size-medium wp-image-841" title="win2k8" src="http://www.ilhanbahar.com/wp-content/uploads/2010/08/win2k82-239x300.jpg" alt="" width="239" height="300" /></a></p>
<p>Bilgisayarda biz farkında olmadan arka planda sessiz sedasız çalışmalarını yürüten, hizmetlerden bahsedeceğiz.<strong> BilgisayarımYönetHizmetler</strong> gelerek bahsettiğim hizmetleri görebilirsiniz. Projemde bana lazım olan 2 saatte bir kontrol yapan, bir <strong>Windows servis</strong> yazacağız.</p>
<p>Yazacağımız <strong>Windows servis</strong>, bir <strong>Timer</strong> aracılığı ile  Mssql veritabanımızı kontrol edip, istediğimiz koşul gerçekleştiğinde, mail gönderecektir. Sanırım burada açıklamaktansa kodları yazmak daha anlaşılır olacaktır.</p>
<p>Bu arada <a href="http://www.ilhanbahar.com/tag/mail-gonderme/" class="st_tag internal_tag" rel="tag" title="Posts tagged with mail gönderme">mail gönderme</a> kısımlarını değiştirdim, oraları kendi <strong>server</strong> bilginize göre düzenlersiniz. Aşağıdaki kodları <strong>Setup</strong> olarak kurup, istediğiniz <strong>server</strong>&#8216;da çalıştırabilirsiniz.</p>
<p>using System;<br />
using System.Collections.Generic;<br />
using System.ComponentModel;<br />
using System.Data;<br />
using System.Diagnostics;<br />
using System.Linq;<br />
using System.ServiceProcess;<br />
using System.Text;<br />
using System.Timers;<br />
using System.Data.SqlClient;<br />
using System.Net.Mail;<br />
using System.Net;<span id="more-840"></span></p>
<p>namespace MailAtanWindowsServis<br />
{<br />
public partial class MailAtanServis : ServiceBase<br />
{<br />
Timer Zamanlayici;<br />
SqlConnection conn;</p>
<p>public MailAtanServis()<br />
{<br />
InitializeComponent();<br />
Zamanlayici = new Timer(30000);<br />
conn = new SqlConnection(@&#8221;data source=GIFTEDSQLEXPRESS;initial catalog = Ticket; integrated security = true&#8221;);</p>
<p>}</p>
<p>protected override void OnStart(string[] args)<br />
{<br />
// Servisimiz start oldugu zaman zamanlayıcı adını verdigimiz timer nesnemizi start edelim.</p>
<p>Zamanlayici.Start();<br />
Zamanlayici.Elapsed += new ElapsedEventHandler(Zamanlayici_Elapsed);</p>
<p>}</p>
<p>void Zamanlayici_Elapsed(object sender, ElapsedEventArgs e)<br />
{<br />
//Bu kısımda veritanından okuyan kısmı yapıcaz. Yani gidip kontrol edecek ve 2 saat ise mail atacak<br />
//Veritabanında bir onay duruma bakarız. Kullanıcı onayı (0,1,2) olmaması lazım. Ayrıca işlem başlangıç zamanına 120 dk ekleriz. Hala çözülmemişse ///<a href="http://www.ilhanbahar.com/tag/mail-at/" class="st_tag internal_tag" rel="tag" title="Posts tagged with mail at">mail at</a>.</p>
<p>SqlConnection conn = new SqlConnection(@&#8221;data source=GIFTEDSQLEXPRESS;integrated security=sspi;initial catalog=Ticket&#8221;);<br />
SqlCommand comm = new SqlCommand(&#8220;SELECT S.ISLEM_BASLANGIC_ZAMAN,S.ONAY_DURUM,S.PERSONEL_ID,P.PERSONEL_BIRIM FROM SORUN_TABLOSU AS S INNER JOIN PERSONEL AS P ON P.PERSONEL_ID=S.PERSONEL_ID WHERE S.ONAY_DURUM=0 OR S.ONAY_DURUM=1&#8243;, conn);<br />
DataTable dt = new DataTable();<br />
try<br />
{<br />
conn.Open();<br />
dt.Load(comm.ExecuteReader());</p>
<p>// string dakika = baslangicTarih.ToString().Substring(10, 2);</p>
<p>for (int i = 0; i &lt; dt.Rows.Count; i++)<br />
{<br />
string personelBirim = dt.Rows[i][3].ToString();<br />
int personelID = Convert.ToInt32(dt.Rows[i][2].ToString());<br />
double baslangicTarih = Convert.ToDouble(dt.Rows[i][0].ToString());</p>
<p>double sonTarih = baslangicTarih + 5;<br />
double sonTarih1 = baslangicTarih + 4;</p>
<p>//Bunu alt yönetici için kullanıcaz</p>
<p>if (Convert.ToDouble(DateTime.Now.ToString(&#8220;yyyyMMddHHmm&#8221;)) == sonTarih1)<br />
{</p>
<p>SqlCommand mailAl1 = new SqlCommand(&#8220;SELECT PERSONEL_MAIL FROM PERSONEL WHERE PERSONEL_BIRIM=&#8217;&#8221; + personelBirim + &#8220;&#8216; AND PERSONEL_YETKI= 1&#8243;, conn);<br />
SqlCommand comm3 = new SqlCommand(&#8220;SELECT P.PERSONEL_ADI,P.PERSONEL_BIRIM,S.SORUN_ID,S.ACIKLAMA,DBO.FNK_TARIHI_FORMATLA(S.BASLANGIC_ZAMAN),DBO.FNK_TARIHI_FORMATLA(S.ISLEM_BASLANGIC_ZAMAN),SOR.KATEGORI_ADI,ONAY_ACIKLAMA FROM PERSONEL AS P INNER JOIN SORUN_TABLOSU AS S ON S.PERSONEL_ID=P.PERSONEL_ID INNER JOIN SORUN_KATEGORI_TABLOSU AS SOR ON S.KATEGORI_ID=SOR.KATEGORI_ID INNER JOIN ONAY_TABLOSU AS O ON O.ONAY_DURUM=S.ONAY_DURUM AND (S.ONAY_DURUM=0 OR S.ONAY_DURUM=1) AND P.PERSONEL_ID=&#8221; + personelID + &#8220;&#8221;, conn);<br />
DataTable dt3 = new DataTable();</p>
<p>string mail1 = mailAl1.ExecuteScalar().ToString();<br />
dt3.Load(comm3.ExecuteReader());<br />
string konu1 = &#8220;Bildiren Personel : &#8221; + dt3.Rows[0][0].ToString() + &#8220;n&#8221; + &#8221; Personel Birimi : &#8221; + dt3.Rows[0][1].ToString() + &#8220;n&#8221; + &#8220;Sorun Id : &#8221; + dt3.Rows[0][2].ToString() + &#8220;n&#8221; + &#8220;Açıklama : &#8221; + dt3.Rows[0][3].ToString() + &#8220;n&#8221; + &#8220;Bildirim Zamanı : &#8221; + dt3.Rows[0][4].ToString() + &#8220;n&#8221; + &#8220;İşlem Başlangıç Zamanı : &#8221; + dt3.Rows[0][5].ToString() + &#8220;n&#8221; + &#8220;Kategorisi : &#8221; + dt3.Rows[0][6].ToString() + &#8220;n&#8221; + &#8220;Onay Durumu : &#8221; + dt3.Rows[0][7].ToString();</p>
<p>mailGonder(mail1, &#8220;mail@ilhanbahar.com&#8221;, &#8220;1234&#8243;, konu1, dt3.Rows[0][2].ToString() + &#8220;. Id Nolu Problem &#8211; &#8221; + dt3.Rows[0][1]);</p>
<p>}</p>
<p>//Bunu üst yönetici için kullanıcaz.</p>
<p>if (Convert.ToDouble(DateTime.Now.ToString(&#8220;yyyyMMddHHmm&#8221;)) == sonTarih)<br />
{</p>
<p>SqlCommand mailAl = new SqlCommand(&#8220;SELECT PERSONEL_MAIL FROM PERSONEL WHERE PERSONEL_BIRIM=&#8217;&#8221; + personelBirim + &#8220;&#8216; AND PERSONEL_YETKI= 2&#8243;, conn);<br />
SqlCommand comm2 = new SqlCommand(&#8220;SELECT P.PERSONEL_ADI,P.PERSONEL_BIRIM,S.SORUN_ID,S.ACIKLAMA,DBO.FNK_TARIHI_FORMATLA(S.BASLANGIC_ZAMAN),DBO.FNK_TARIHI_FORMATLA(S.ISLEM_BASLANGIC_ZAMAN),SOR.KATEGORI_ADI,ONAY_ACIKLAMA FROM PERSONEL AS P INNER JOIN SORUN_TABLOSU AS S ON S.PERSONEL_ID=P.PERSONEL_ID INNER JOIN SORUN_KATEGORI_TABLOSU AS SOR ON S.KATEGORI_ID=SOR.KATEGORI_ID INNER JOIN ONAY_TABLOSU AS O ON O.ONAY_DURUM=S.ONAY_DURUM AND (S.ONAY_DURUM=0 OR S.ONAY_DURUM=1) AND P.PERSONEL_ID=&#8221; + personelID + &#8220;&#8221;, conn);<br />
DataTable dt2 = new DataTable();</p>
<p>string mail = mailAl.ExecuteScalar().ToString();<br />
dt2.Load(comm2.ExecuteReader());<br />
string konu = &#8220;Bildiren Personel : &#8221; + dt2.Rows[0][0].ToString() + &#8220;n&#8221; + &#8221; Personel Birimi : &#8221; + dt2.Rows[0][1].ToString() + &#8220;n&#8221; + &#8220;Sorun Id : &#8221; + dt2.Rows[0][2].ToString() + &#8220;n&#8221; + &#8220;Açıklama : &#8221; + dt2.Rows[0][3].ToString() + &#8220;n&#8221; + &#8220;Bildirim Zamanı : &#8221; + dt2.Rows[0][4].ToString() + &#8220;n&#8221; + &#8220;İşlem Başlangıç Zamanı : &#8221; + dt2.Rows[0][5].ToString() + &#8220;n&#8221; + &#8220;Kategorisi : &#8221; + dt2.Rows[0][6].ToString() + &#8220;n&#8221; + &#8220;Onay Durumu : &#8221; + dt2.Rows[0][7].ToString();</p>
<p>mailGonder(mail, &#8220;nazli.ayhan@gvg.com.tr&#8221;, &#8220;1234&#8243;, konu, dt2.Rows[0][2].ToString() + &#8220;. Id Nolu Problem &#8211; &#8221; + dt2.Rows[0][1]);</p>
<p>}</p>
<p>}<br />
}<br />
catch (Exception ex)<br />
{</p>
<p>}<br />
finally<br />
{<br />
conn.Close();<br />
}</p>
<p>}</p>
<p>private void mailGonder(string kime, string kullaniciAdi, string sifre, string konu, string baslik)<br />
{<br />
MailMessage mail = new MailMessage();<br />
mail.From = new MailAddress(kullaniciAdi);<br />
mail.Priority = MailPriority.High;<br />
mail.To.Add(new MailAddress(kime));<br />
mail.Body = konu;<br />
mail.Subject = baslik;</p>
<p>NetworkCredential sad = new NetworkCredential();<br />
sad.UserName = kullaniciAdi;<br />
sad.Password = sifre;</p>
<p>SmtpClient sc = new SmtpClient();<br />
sc.Host = &#8220;mail.ilhanbahar.com&#8221;;<br />
sc.Port = 587;<br />
sc.Credentials = sad;<br />
sc.Send(mail);<br />
}</p>
<p>protected override void OnStop()<br />
{<br />
Zamanlayici.Stop();<br />
}</p>
<p>protected override void OnContinue()<br />
{</p>
<p>// Pause olayından tekrar resume butonuna basıldıgında zamanlayıcımızı start edelim .</p>
<p>Zamanlayici.Start();</p>
<p>}</p>
<p>}<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilhanbahar.com/2-saatte-bir-mail-atan-windows-servis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C++ Operatörleri aşırı yüklemek</title>
		<link>http://www.ilhanbahar.com/c-operatorleri-asiri-yuklemek/</link>
		<comments>http://www.ilhanbahar.com/c-operatorleri-asiri-yuklemek/#comments</comments>
		<pubDate>Tue, 25 May 2010 00:44:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[operatör]]></category>
		<category><![CDATA[operatör aşırı yükleme]]></category>
		<category><![CDATA[operatör ezmek]]></category>
		<category><![CDATA[overloading]]></category>

		<guid isPermaLink="false">http://www.ilhanbahar.com/?p=809</guid>
		<description><![CDATA[C++&#8216;da bazı operatöleri ezerek, istediğimiz amaca hizmet etmesini sağlayabiliriz. Örnek vermemiz gerekirse; a+b işleminde &#8220;+&#8221; işaretini &#8220;-&#8221; yapmasını söyleyebiliriz. Böylece programda her hangi bir yerde toplama yapılması gerekirse, program otomatik olarak çıkarma işlemi gerçekleştirecektir. Aşağıda +, &#8211; , ++, &#8211; operatörlerini değiştirdik. Yeni bir görev eklemek yerine varolan görevlerini biz yazdık. Kodu incelediğinizde anlayacaksınızdır. #include [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://www.ilhanbahar.com/tag/c/" class="st_tag internal_tag" rel="tag" title="Posts tagged with c++">C++</a></strong>&#8216;da bazı operatöleri ezerek, istediğimiz amaca hizmet etmesini sağlayabiliriz. Örnek vermemiz gerekirse; <em>a+b</em> işleminde<strong> &#8220;+&#8221;</strong> işaretini<strong> &#8220;-&#8221;</strong> yapmasını söyleyebiliriz. Böylece programda her hangi bir yerde toplama yapılması gerekirse, program otomatik olarak çıkarma işlemi gerçekleştirecektir. Aşağıda<strong> +, &#8211; , ++, &#8211;</strong> operatörlerini değiştirdik. Yeni bir görev eklemek yerine varolan görevlerini biz yazdık. Kodu incelediğinizde anlayacaksınızdır.<br />
#include &#8220;stdafx.h&#8221; //VisualStudio için gerekli<br />
#include //cout ve cin için gerekli<br />
#include //getch() fonksiyonu için gerekli<br />
using namespace std;</p>
<p>class aYukle<br />
{<br />
private:<br />
int x,y,z;<br />
public:<br />
aYukle() //Öncellikle bir sorun çıkmaması için ilk değerleri atıyoruz.<br />
{<br />
x=0;<br />
y=0;<br />
z=0;<br />
}</p>
<p><span id="more-809"></span><br />
aYukle (int a,int b,int c) //İşlemlerde kullanacağımız ilk nesnenin verilerini tutucaz.<br />
{<br />
x=a;<br />
y=b;<br />
z=c;<br />
}<br />
void GetObje(int &amp;a,int &amp;b,int &amp;c)<br />
{<br />
//Burada gelen adreslere direk değerleri yazdırıyoruz.<br />
a=x;<br />
b=y;<br />
c=z;</p>
<p>}</p>
<p>aYukle operator + (aYukle gelenObje); //Ezeceğimiz + işaretinin prototipini belirliyoruz.<br />
aYukle operator &#8211; (aYukle gelenObje);<br />
aYukle operator ++ ();<br />
aYukle operator &#8211;();<br />
};</p>
<p>aYukle aYukle::operator +(aYukle gelenObje)<br />
{<br />
aYukle tut; // Tut diye bir nesne yaratıp, x,y,z değerlerine atanmasını sağlıyoruz.<br />
tut.x=x+gelenObje.x;<br />
tut.y=y+gelenObje.y;<br />
tut.z=z+gelenObje.z;<br />
return tut;<br />
}</p>
<p>aYukle aYukle::operator -(aYukle gelenObje)<br />
{<br />
aYukle tut;<br />
tut.x=x-gelenObje.x;<br />
tut.y=y-gelenObje.y;<br />
tut.z=z-gelenObje.z;<br />
return tut;<br />
}</p>
<p>aYukle aYukle::operator ++()<br />
{<br />
x++;<br />
y++;<br />
z++;<br />
return *this;<br />
}</p>
<p>aYukle aYukle::operator &#8211;()<br />
{<br />
x&#8211;;<br />
y&#8211;;<br />
z&#8211;;<br />
return *this;<br />
}</p>
<p>int _tmain(int argc, _TCHAR* argv[])<br />
{</p>
<p>int al1,al2,al3;<br />
aYukle o1(5,6,7),o2(1,2,3),o3; //Nesnelerimizi yaratıyoruz. Önce o1 nesnesi oluşturulur. Ardından o2 nesnesi x y z de değerlerini korur.</p>
<p>o3=o2+o1;<br />
o3.GetObje (al1,al2,al3); //x y z private alanda olduğu için fonksiyonumuz aracılığı ile alıyoruz.<br />
cout &lt;&lt; &#8220;x: &#8221; &lt;&lt; al1 &lt;&lt; &#8221; y: &#8221; &lt;&lt; al2 &lt;&lt; &#8221; z: &#8221; &lt;&lt; al3 &lt;&lt; &#8220;n&#8221;;</p>
<p>o3=o1-o2;<br />
o3.GetObje (al1,al2,al3);<br />
cout &lt;&lt; &#8220;x: &#8221; &lt;&lt; al1 &lt;&lt; &#8221; y: &#8221; &lt;&lt; al2 &lt;&lt; &#8221; z: &#8221; &lt;&lt; al3 &lt;&lt;&#8221;n&#8221;;</p>
<p>++o2;<br />
o2.GetObje (al1,al2,al3);<br />
cout &lt;&lt; &#8220;x: &#8221; &lt;&lt; al1 &lt;&lt; &#8221; y: &#8221; &lt;&lt; al2 &lt;&lt; &#8221; z: &#8221; &lt;&lt; al3 &lt;&lt;&#8221;n&#8221;;</p>
<p>&#8211;o1;<br />
o1.GetObje (al1,al2,al3);<br />
cout &lt;&lt; &#8220;x: &#8221; &lt;&lt; al1 &lt;&lt; &#8221; y: &#8221; &lt;&lt; al2 &lt;&lt; &#8221; z: &#8221; &lt;&lt; al3 &lt;&lt;&#8221;n&#8221;;</p>
<p>getch();</p>
<p>return 0;<br />
}</p>
<p>/*<br />
25.05.2010<br />
Kaynak:ilhanbahar.Com<br />
*/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilhanbahar.com/c-operatorleri-asiri-yuklemek/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Kuyruk (Queue) Mantığı C++</title>
		<link>http://www.ilhanbahar.com/kuyruk-queue-mantigi-c/</link>
		<comments>http://www.ilhanbahar.com/kuyruk-queue-mantigi-c/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 22:01:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[kuyruk]]></category>
		<category><![CDATA[kuyruk mantığı]]></category>
		<category><![CDATA[queue]]></category>

		<guid isPermaLink="false">http://www.ilhanbahar.com/?p=764</guid>
		<description><![CDATA[Kuyruk (Queue) veri yapısının C++ programını aşağıdaki istenenlere uygun olarak yazdık. Kuyruk :: Kuyruk(int N) // Yapıcı fonksiyonda kuyruğu oluşturacak maksimum düğüm sayısını belirleyiniz. void ekle(char ch) // Düğüm sayısı aşılmamışsa ch değişkenini barındıracak bir düğüm ekleyiniz. char cikar() // Kuyruk boş değilse en sondan bir düğümü siliniz ve içindeki char tipindeki değişkeni döndürünüz. char [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ilhanbahar.com/tag/kuyruk/" class="st_tag internal_tag" rel="tag" title="Posts tagged with kuyruk">Kuyruk</a> (<a href="http://www.ilhanbahar.com/tag/queue/" class="st_tag internal_tag" rel="tag" title="Posts tagged with queue">Queue</a>) veri yapısının <a href="http://www.ilhanbahar.com/tag/c/" class="st_tag internal_tag" rel="tag" title="Posts tagged with c++">C++</a> programını aşağıdaki istenenlere uygun olarak yazdık.</p>
<p><strong>Kuyruk :: Kuyruk(int N) </strong></p>
<p>// Yapıcı fonksiyonda kuyruğu oluşturacak maksimum düğüm sayısını belirleyiniz.</p>
<p><strong>void ekle(char ch) </strong></p>
<p>// Düğüm sayısı aşılmamışsa <em>ch</em> değişkenini barındıracak bir düğüm ekleyiniz.</p>
<p><strong>char cikar()</strong></p>
<p>// Kuyruk boş değilse en sondan bir düğümü siliniz ve içindeki char tipindeki değişkeni döndürünüz.</p>
<p><strong>char baslangic()</strong></p>
<p>// Düğüm varsa en baştaki düğümün char tipindeki değişkenini döndürünüz.</p>
<p><strong>bool bos()</strong></p>
<p>// Düğüm yoksa <em>true</em>, varsa <em>false</em> döndürünüz.</p>
<p><strong>bool dolu()</strong></p>
<p>// Kuyruk dolu ise <em>true</em>, değilse <em>false</em> döndürünüz.</p>
<p><strong>bool barindirir(char ch)</strong></p>
<p>// Kuyruk içerisinde tüm düğümleri arayarak, ch karakterini barındıran bir düğüm varsa <em>true</em> döndürünüz, yoksa <em>false </em>döndürünüz.</p>
<p><span id="more-764"></span></p>
<p>[c language="c#"]<br />
//05.04.2010<br />
//www.ilhanbahar.com<br />
//Kodlayan : İlhan Bahar</p>
<p>#include &#8220;stdafx.h&#8221;<br />
#include&lt;iostream&gt;<br />
#include&lt;conio.h&gt;<br />
#include&lt;stdio.h&gt;<br />
using namespace std;<br />
class Kuyruk //Sınıf Başla<br />
{<br />
private:<br />
struct Dugumle//düğüm veri tipi<br />
{<br />
char veri;<br />
Dugumle *ileri;<br />
};</p>
<p>Dugumle *ilk,*son;//düğümün ilk ve son elemanları<br />
int kayit,maxKayit;</p>
<p>public:<br />
//Öncelikle genel olarak kullanacağımız fonksiyonlarımızı belirliyoruz<br />
Kuyruk(int N);<br />
void ekle(char ch);<br />
char cikar();<br />
char baslangic();<br />
bool bos();<br />
bool dolu();<br />
bool barindirir(char ch);<br />
};//Sınıf Bitiş</p>
<p>Kuyruk::Kuyruk(int N) //Yapıcı fonksiyon<br />
{<br />
ilk=NULL;//başlangıçta null olarak belirliyoruz.<br />
son=NULL;//ilk pointerı gibi son pointerı da null atıyoruz<br />
maxKayit=N; //alabileceği max kayit<br />
kayit=0; //Şuan bulunan eleman sayısı<br />
}</p>
<p>void Kuyruk::ekle(char ch)<br />
{<br />
if(maxKayit&gt;=kayit){//düğüm sayısını kontrol ediyoruz<br />
Dugumle *Temp=new Dugumle;//yeni düğüm yaratıyoruz<br />
Temp-&gt;veri=ch; //temp içeriğine ch karakterini atıyoruz<br />
if(ilk!=NULL){//düğüme kayıt eklenmişse bundan önce<br />
kayit++;//düğüm sayısını artıyoruz<br />
son-&gt;ileri=Temp;//son düğümden sonra yeni düğüm<br />
son=Temp;//sonra bu düğümü son alarak göster<br />
son-&gt;ileri=NULL;//en son düğümden sonra başka düğüm olmayacağından sonrasını null yap<br />
}else//ilk defa düğüm ekleniyorsa<br />
{<br />
kayit++;//düğüm sayısını arttır<br />
ilk=Temp;//düğümü ilk pointerına at<br />
son=Temp;//sonunucuyuda aynı yapıyoruz çünkü ilk ve son eşit olunca tek kayıt olduğunu anlamış olacağız<br />
son-&gt;ileri=NULL;//son düğümü null yapıyoruz</p>
<p>}<br />
}<br />
}<br />
char Kuyruk::cikar() //çıkarma fonksiyonu<br />
{<br />
char cikan;<br />
if(kayit&gt;0)//düğüm var mı? kontrolu yapıyoruz<br />
{<br />
Dugumle *Temp;//temp adında düğüm yaratıyoruz<br />
Temp=ilk;//temp e ilki atıyoruz<br />
while(Temp!=NULL) //temp eğer boş değilse<br />
{<br />
cikan=Temp-&gt;veri; //çıkan artık tempin içeriğini alacak<br />
if((Temp-&gt;ileri)==NULL)//eğer son kayıt ise<br />
{<br />
delete Temp; //Son kaydı sil<br />
return cikan; //sonucu gönder<br />
}<br />
Temp=Temp-&gt;ileri; //tüm düğümleri gezmek için bir ilerlet<br />
}<br />
}<br />
}<br />
bool Kuyruk::dolu()<br />
{<br />
if(kayit&gt;maxKayit)//kuyruk dolu ise<br />
return true; //Dolu ise true<br />
return false; //Boş ise false gönderir<br />
}<br />
bool Kuyruk::barindirir(char ch)<br />
{<br />
Dugumle *Temp;//temp adında düğüm yarat<br />
Temp=ilk;//birinci kaydı tempe aktar<br />
while(Temp!=NULL) //temp boş değilse<br />
{<br />
if(Temp-&gt;veri==ch)//eğer düğümdeki eleman ile aranan değer eşitse<br />
{<br />
return true; //true gönder<br />
}<br />
Temp=Temp-&gt;ileri;    //bir sonraki kaydı tempe aktar<br />
}<br />
return false;<br />
}<br />
char Kuyruk::baslangic()<br />
{<br />
char cikan;<br />
if(kayit&gt;0){//düğüm varsa<br />
cikan=ilk-&gt;veri; //ilk düğümü tutuyor<br />
return cikan;<br />
}<br />
}<br />
bool Kuyruk::bos()<br />
{<br />
if(kayit==0)//düğüm yoksa<br />
return true; //true gönder<br />
return false; //değilse false<br />
}</p>
<p>int main() //Program ana kısım<br />
{<br />
int eleman=0;<br />
char tut,atut;</p>
<p>cout&lt;&lt;&#8221;Kac eleman=&#8221;;<br />
cin&gt;&gt;eleman;<br />
//Kuyruk direk kullanıcıdan aldığımız için kuyruk dolu olmayacaktır. Fakat değer büyük girilirse kuyruk dolduğunda hata<br />
//mesajı verdiği gözlemlenebilir.<br />
Kuyruk queue(eleman);<br />
for (int i=0;i&lt;eleman;i++)<br />
{<br />
cout&lt;&lt;&#8221;nKarakter gir=&#8221;;<br />
cin&gt;&gt;tut;<br />
queue.ekle (tut);<br />
}<br />
cout&lt;&lt;&#8221;nAranan kaydi giriniz=&#8221;;<br />
cin&gt;&gt;atut;<br />
if(queue.barindirir(atut))<br />
{<br />
cout&lt;&lt;&#8221;nKayit bulunmustur.&#8221;;<br />
}<br />
else<br />
cout&lt;&lt;&#8221;n Kayit Bulunamadi.&#8221;;<br />
if(queue.dolu())<br />
{<br />
cout&lt;&lt;&#8221;n Kuyruk dolu&#8221;;<br />
}<br />
else<br />
cout&lt;&lt;&#8221;n Kuyruk dolu degil&#8221;;<br />
cout&lt;&lt;&#8221;n Kuyrugun sonundan cikan eleman:&#8221;&lt;&lt;queue.cikar();<br />
cout&lt;&lt;&#8221;n Kuyrugun basindan cikan eleman:&#8221;&lt;&lt;queue.baslangic();<br />
getch();<br />
return 0;<br />
}<br />
[/c] </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilhanbahar.com/kuyruk-queue-mantigi-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dev C++ 5.0 Beta ücretsiz derleyici indir</title>
		<link>http://www.ilhanbahar.com/dev-c-50-beta-ucretsiz-derleyici-indir/</link>
		<comments>http://www.ilhanbahar.com/dev-c-50-beta-ucretsiz-derleyici-indir/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 19:06:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programlar]]></category>
		<category><![CDATA[c derleyicisi]]></category>
		<category><![CDATA[c derleyicisi indir]]></category>
		<category><![CDATA[c indir]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[derleyici]]></category>
		<category><![CDATA[dev c indir]]></category>
		<category><![CDATA[dev c++]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[ücretsiz derleyici]]></category>

		<guid isPermaLink="false">http://www.ilhanbahar.com/?p=183</guid>
		<description><![CDATA[Dev C++ 5.0 beta yayınlandı.Uzun süredir kullanılan ve Microsoft C derleyicisine rakip olan Dev C++,open source olması nedeniyle çabuk gelişim göstermeye devam ediyor.Çoğu programı kusursuzca derleyen Dev C++,ücretsiz olması ve sorusuz vista,xp desteği sayesinde programcıların yegane derleyicisidir.Bir süredir sorunsuzca kullandığım Dev C++&#8217;ı c ve c++ kodlayıcılarına özellikle öneririm.Programı şuradan indirebilirsiniz.Türkçe dil seçeniği mevcuttur.Dosya boyutu 8.9 [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" title="c double plus" src="http://mx-3.cz/tringi/devcpp/gr/top_left1.gif" alt="" width="476" height="162" /></p>
<p>Dev <a href="http://www.ilhanbahar.com/tag/c/" class="st_tag internal_tag" rel="tag" title="Posts tagged with c++">C++</a> 5.0 beta yayınlandı.Uzun süredir kullanılan ve Microsoft C derleyicisine rakip olan Dev <a href="http://www.ilhanbahar.com/tag/c/" class="st_tag internal_tag" rel="tag" title="Posts tagged with c++">C++</a>,open source olması nedeniyle çabuk gelişim göstermeye devam ediyor.Çoğu programı kusursuzca derleyen Dev <a href="http://www.ilhanbahar.com/tag/c/" class="st_tag internal_tag" rel="tag" title="Posts tagged with c++">C++</a>,ücretsiz olması ve sorusuz vista,xp desteği sayesinde programcıların yegane derleyicisidir.Bir süredir sorunsuzca kullandığım Dev <a href="http://www.ilhanbahar.com/tag/c/" class="st_tag internal_tag" rel="tag" title="Posts tagged with c++">C++</a>&#8217;ı c ve <a href="http://www.ilhanbahar.com/tag/c/" class="st_tag internal_tag" rel="tag" title="Posts tagged with c++">c++</a> kodlayıcılarına özellikle öneririm.Programı <a href="http://www.bloodshed.net/dev/devcpp.html" target="_blank">şuradan</a> indirebilirsiniz.Türkçe dil seçeniği mevcuttur.Dosya boyutu 8.9 Mb&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilhanbahar.com/dev-c-50-beta-ucretsiz-derleyici-indir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C dili kapı problemi ile ilgili algoritma</title>
		<link>http://www.ilhanbahar.com/c-dili-kapi-problemi-ile-ilgili-algoritma/</link>
		<comments>http://www.ilhanbahar.com/c-dili-kapi-problemi-ile-ilgili-algoritma/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 21:04:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C Programlama]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[algoritma]]></category>
		<category><![CDATA[c örnek]]></category>
		<category><![CDATA[c örnekler]]></category>
		<category><![CDATA[c programlama]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[kapı problemi]]></category>

		<guid isPermaLink="false">http://www.ilhanbahar.com/?p=57</guid>
		<description><![CDATA[/* 100 kapı,10 anahtar var,ilk aşamada kapıların tamamı kapalıdır.Anahtarlar denenerek açıksa kapatılıp,kapılıysa açılacaktır*/ //Kodlayan:İlhan BAHAR //Kaynak:www.ilhanbahar.com # include &#60;conio.h&#62; # include &#60;stdio.h&#62; int main(int) { int kapi[101]; int i,a; a=0; //Önce hepsini sıfırladık for (i=1;i&#60;101;i++) { kapi[i]=0; } //Yüz kapıyı do while ile deneyelim do { a++; for (i=1;i&#60;11;i++) { if (a%i==0) { if (kapi[a]==0) [...]]]></description>
			<content:encoded><![CDATA[<p>/* 100 kapı,10 anahtar var,ilk aşamada kapıların tamamı kapalıdır.Anahtarlar denenerek açıksa kapatılıp,kapılıysa açılacaktır*/</p>
<p>//Kodlayan:İlhan BAHAR</p>
<p>//Kaynak:www.ilhanbahar.com</p>
<p># include &lt;conio.h&gt;</p>
<p># include &lt;stdio.h&gt;</p>
<p>int main(int)</p>
<p>{</p>
<p>int kapi[101];</p>
<p>int i,a;</p>
<p>a=0;</p>
<p>//Önce hepsini sıfırladık</p>
<p>for (i=1;i&lt;101;i++)</p>
<p>{</p>
<p>kapi[i]=0;</p>
<p>}</p>
<p>//Yüz kapıyı do while ile deneyelim</p>
<p>do</p>
<p>{</p>
<p>a++;</p>
<p>for (i=1;i&lt;11;i++)</p>
<p>{</p>
<p>if (a%i==0)</p>
<p>{</p>
<p><span id="more-57"></span></p>
<p>if (kapi[a]==0)</p>
<p>{</p>
<p>kapi[a]=1;</p>
<p>}</p>
<p>else if(kapi[a]==1)</p>
<p>{</p>
<p>kapi[a]=0;</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>}while (a&lt;100);</p>
<p>for (i=1;i&lt;101;i++)</p>
<p>{</p>
<p>printf (&#8220;n%d.Kapi = %d&#8221;,i,kapi[i]);</p>
<p>}</p>
<p>getch();</p>
<p>}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilhanbahar.com/c-dili-kapi-problemi-ile-ilgili-algoritma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C programlama dili ile Asal Sayı tespiti</title>
		<link>http://www.ilhanbahar.com/c-programlama-dili-ile-asal-sayi-tespiti/</link>
		<comments>http://www.ilhanbahar.com/c-programlama-dili-ile-asal-sayi-tespiti/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 21:00:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C Programlama]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[asal sayı]]></category>
		<category><![CDATA[c programlama]]></category>
		<category><![CDATA[c++]]></category>

		<guid isPermaLink="false">http://www.ilhanbahar.com/?p=55</guid>
		<description><![CDATA[//Asal sayı olup,olmadığını gösteren program //Kodlayan:İlhan BAHAR //Kaynak:www.ilhanbahar.com #include &#60;conio.h&#62; #include &#60;stdio.h&#62; int main(void){ int sayi,say; printf (&#8220;Lutfen bir sayi giriniz=&#62;&#8221;); scanf (&#8220;%d&#8221;,&#38;sayi); say=0; for (int i=1;i&#60;=sayi;i++) { if (sayi%i==0) say++; } if (say==2) printf (&#8220;Asal sayi=%d&#8221;,sayi); else printf (&#8220;-1&#8243;); getch(); }]]></description>
			<content:encoded><![CDATA[<p><em>//<a href="http://www.ilhanbahar.com/tag/asal-sayi/" class="st_tag internal_tag" rel="tag" title="Posts tagged with asal sayı">Asal sayı</a> olup,olmadığını gösteren program</em></p>
<p><em>//Kodlayan:İlhan BAHAR</em></p>
<p><em>//Kaynak:www.ilhanbahar.com</em></p>
<p><em>#include &lt;conio.h&gt;</em></p>
<p><em>#include &lt;stdio.h&gt;</em></p>
<p><em>int main(void){</em></p>
<p><em> int sayi,say;</em></p>
<p><em> printf (&#8220;Lutfen bir sayi giriniz=&gt;&#8221;);</em></p>
<p><em> scanf (&#8220;%d&#8221;,&amp;sayi);</em></p>
<p><em> say=0;</em></p>
<p><em> for (int i=1;i&lt;=sayi;i++)</em></p>
<p><em> {</em></p>
<p><em> if (sayi%i==0)</em></p>
<p><em> say++;</em></p>
<p><em> </em></p>
<p><em> }</em></p>
<p><em> if (say==2)</em></p>
<p><em> printf (&#8220;Asal sayi=%d&#8221;,sayi);</em></p>
<p><em> else</em></p>
<p><em> printf (&#8220;-1&#8243;);</em></p>
<p><em> getch();</em></p>
<p><em> }</em></p>
<p><em> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilhanbahar.com/c-programlama-dili-ile-asal-sayi-tespiti/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C dili ile yazılmış Fibonacci</title>
		<link>http://www.ilhanbahar.com/c-dili-ile-yazilmis-fibonacci/</link>
		<comments>http://www.ilhanbahar.com/c-dili-ile-yazilmis-fibonacci/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 20:57:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C Programlama]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[c programı]]></category>
		<category><![CDATA[c programlama]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[fibonacci]]></category>
		<category><![CDATA[fibonacci serisi]]></category>

		<guid isPermaLink="false">http://www.ilhanbahar.com/?p=53</guid>
		<description><![CDATA[#include &#60;stdio.h&#62; #include &#60;conio.h&#62; //Girilen sayının fibanacci olup olmadığını gösteren program. //Kodlayan:İlhan BAHAR //Kaynak:www.ilhanbahar.com int main(void){ int fibo,ilk_Sayi=1,ikinci_Sayi=2,sayi; printf (&#8220;Lutfen sayiyi giriniz=&#8221;); scanf (&#8220;%d&#8221;,&#38;sayi); int kontrol=0; while (kontrol==0) { fibo=ilk_Sayi+ikinci_Sayi; ilk_Sayi=ikinci_Sayi; ikinci_Sayi=fibo; if (ikinci_Sayi==sayi) { printf (&#8220;Sonuc=%d&#8221;,ilk_Sayi+ikinci_Sayi); kontrol=1; } if (sayi&#60;fibo) { printf (&#8220;-1&#8243;); kontrol=1; } } getch(); }]]></description>
			<content:encoded><![CDATA[<p><em>#include &lt;stdio.h&gt;</em></p>
<p><em>#include &lt;conio.h&gt;</em></p>
<p><em>//Girilen sayının fibanacci olup olmadığını gösteren program.</em></p>
<p><em>//Kodlayan:İlhan BAHAR</em></p>
<p><em>//Kaynak:www.ilhanbahar.com</em></p>
<p><em>int main(void){</em></p>
<p><em> int fibo,ilk_Sayi=1,ikinci_Sayi=2,sayi;</em></p>
<p><em> printf (&#8220;Lutfen sayiyi giriniz=&#8221;);</em></p>
<p><em> scanf (&#8220;%d&#8221;,&amp;sayi);</em></p>
<p><em> int kontrol=0;</em></p>
<p><em> while (kontrol==0)</em></p>
<p><em> {</em></p>
<p><em> fibo=ilk_Sayi+ikinci_Sayi;</em></p>
<p><em> ilk_Sayi=ikinci_Sayi;</em></p>
<p><em> ikinci_Sayi=fibo;</em></p>
<p><em> if (ikinci_Sayi==sayi)</em></p>
<p><em> {</em></p>
<p><em> printf (&#8220;Sonuc=%d&#8221;,ilk_Sayi+ikinci_Sayi);</em></p>
<p><em> kontrol=1;</em></p>
<p><em> }</em></p>
<p><em> if (sayi&lt;fibo)</em></p>
<p><em> {</em></p>
<p><em> printf (&#8220;-1&#8243;);</em></p>
<p><em> kontrol=1;</em></p>
<p><em> }</em></p>
<p><em> }</em></p>
<p><em> </em></p>
<p><em> getch();</em></p>
<p><em> }</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilhanbahar.com/c-dili-ile-yazilmis-fibonacci/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

