void ListeyeEkle(Veriler *Eklenecek)

 

Listeye tek eleman eklemek için kullanılır. İlk adım olarak gelen öğrencinin numarasını analiz ederek kayıt yapabilen bir numara ise BolumBelirle(); metodu çağrılarak bölümü atanır. Eğer kayıt yapamayacak bir öğrenci ise “kayıt yapamaz” uyarısı vererek metodu sonlandırır. Ekleme işlemi daha önce açıklanan ekleme metoduyla aynı çalışır.

</p>
<p>void Liste::ListeyeEkle(Veriler *Eklenecek)<br />
{<br />
if((Eklenecek-&gt;numara)/1000 &gt;=10 &amp;&amp; (Eklenecek-&gt;numara)/1000 &lt; 20)<br />
Eklenecek-&gt;BolumBelirle();<br />
else<br />
{<br />
cout &lt;&lt; Eklenecek-&gt;numara &lt;&lt; &quot; numarali ogrenci kayit yapamamaktadir.\n&quot;;<br />
return;<br />
}<br />
//Eklenecek Eleman Listenin İlk Elamanı mı?<br />
if(ListeSonu == NULL)<br />
{<br />
ListeBasi = Eklenecek;<br />
ListeSonu = Eklenecek;<br />
ListeSonu-&gt;onceki = NULL;<br />
ListeSonu-&gt;sonraki = NULL;<br />
cout &lt;&lt; Eklenecek-&gt;numara &lt;&lt; &quot; numarali ogrenci eklendi.\n&quot;;<br />
}<br />
//Eklenecek Eleman Listenin Başına mı Eklenecek?<br />
else if(ListeBasi-&gt;numara &gt; Eklenecek-&gt;numara)<br />
{<br />
ListeBasi-&gt;onceki = Eklenecek;<br />
Eklenecek-&gt;sonraki = ListeBasi;<br />
ListeBasi = Eklenecek;<br />
ListeBasi-&gt;onceki = NULL;<br />
cout &lt;&lt; Eklenecek-&gt;numara &lt;&lt; &quot; numarali ogrenci eklendi.\n&quot;;<br />
}<br />
//Eklenecek Eleman Listenin Sonuna mı Eklenecek?<br />
else if(Eklenecek-&gt;numara &gt; ListeSonu-&gt;numara)<br />
{<br />
ListeSonu-&gt;sonraki = Eklenecek;<br />
Eklenecek-&gt;onceki = ListeSonu;<br />
ListeSonu = Eklenecek;<br />
ListeSonu-&gt;sonraki = NULL;<br />
cout &lt;&lt; Eklenecek-&gt;numara &lt;&lt; &quot; numarali ogrenci eklendi.\n&quot;;<br />
}<br />
//Eklenecek Eleman Araya mı Girecek?<br />
else<br />
{<br />
Veriler *Bakilan;<br />
Veriler *Bakilandan_Onceki;<br />
Bakilan = ListeBasi;<br />
while(Eklenecek-&gt;numara &gt; Bakilan-&gt;numara)<br />
{<br />
Bakilandan_Onceki=Bakilan;<br />
Bakilan = Bakilan-&gt;sonraki;<br />
}<br />
Eklenecek-&gt;sonraki = Bakilan;<br />
Eklenecek-&gt;onceki = Bakilandan_Onceki;<br />
Bakilandan_Onceki-&gt;sonraki = Eklenecek;<br />
Bakilan-&gt;onceki = Eklenecek;<br />
cout &lt;&lt; Eklenecek-&gt;numara &lt;&lt; &quot; numarali ogrenci eklendi.\n&quot;;<br />
}<br />
}</p>
<p>

Yorum Yapın

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑

%d blogcu bunu beğendi: