08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

}<br />

switch (month - 1) {<br />

case 11: sum += 30;<br />

case 10: sum += 31;<br />

case 9 : sum += 30;<br />

case 8 : sum += 31;<br />

case 7 : sum += 31;<br />

case 6 : sum += 30;<br />

case 5 : sum += 31;<br />

case 4 : sum += 30;<br />

case 3 : sum += 31;<br />

case 2 : sum += 28 + isleap(year);<br />

case 1 : sum += 31;<br />

}<br />

return sum;<br />

int main()<br />

{<br />

int day, month, year;<br />

int n = 5;<br />

while (n-- > 0) {<br />

printf("gun ay yil olarak bir tarih girin : ");<br />

scanf("%d%d%d", &day, &month, &year);<br />

printf("%d yilinin %d. gunudur!\n", year, day_of_year(day, month,<br />

year));<br />

}<br />

}<br />

return 0;<br />

day_of_year işlevi dışarıdan gün, ay ve yıl değeri olarak gelen tarih bilgisinin ilgili yılın<br />

kaçıncı günü olduğunu hesaplayarak bu değerle geri dönüyor. İşlev içinde kullanılan<br />

switch deyimini dikkatli bir şekilde inceleyin. switch deyiminin ayracı içinde, dışarıdan<br />

gelen ay değerinin 1 eksiği kullanılıyor. Hiçbir case içinde bir break deyimi kullanılmıyor.<br />

Uygun bir case ifadesi bulunduğunda, daha aşağıda yer alan tüm case içindeki deyimler<br />

de yapılır. Böylece, dışarıdan gelen ay değerinden daha düşük olan her bir ayın kaç<br />

çektiği bilgisi, gün toplamını tutan sum değişkenine katılıyor.<br />

184/529

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!