8.6 Yapısal Programlama
8.6 Yapısal Programlama
Program içinde birden çok fonksiyon tanımlayıp kullanmak mümkündür. Yani C Programlama Dili fonksiyonların inşası dayalı bir dildir. Bu özelliklik bütün Yapısal Programlama Dilleri’nin (Structred Programming) temelini oluşturur. Birden çok fonksiyonun main tarafından nasıl çağrıldığını temsil eden blok diyagram Şekil 8.2’de gösterilmiştir.
Şekil 8.2: Ana programdan alt programların (fonksiyonların) çağırılması.
Fonksiyonu çağırmak için, fonksiyonun adını yazmak yeterlidir.
Fonksiyonların sadece ana program tarafından çağrılması zorunlu değildir. Bir fonksiyon başka bir fonksiyon tarafından da çağrılabilir. Bu tür kullanıma dair bir örnek Program 8.5’de verilmiştir. yilin_gunu fonksiyonu, verilen bir tarihin yılın kaçıncı günü olduğunu hesaplar ve çağrıldığı yere gönderir. İnceleyiniz.
Program 8.5: bir fonksiyonun başka bir fonksiyon tarafından çağrılması
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
/* 08prg05.c: Verilen bir tarihin yılın kaçıncı günü olduğunu hesaplar. */ #include <stdio.h> int yilin_gunu(int, int, int); int artik_yil(int); int main(void) { int gun = 1; /* tarih: 01 Ağustos 2003 */ int ay = 8; int yil = 2003; printf("%02d %02d %d yilinin\n",gun,ay,yil ); printf("%d. gunudur\n",yilin_gunu(gun,ay,yil) ); return 0; } /* yil artıl yıl ise 1 aksi halde 0 gönderir */ int artik_yil(int yil) { if( yil%4==0 && yil%100!=0 || yil%400==0 ) return 1; else return 0; } /* yılın kaçıncı günü olduğunu hesaplar ve o günü gönderirir */ int yilin_gunu(int gun, int ay, int yil) { int ygun = gun; switch(ay-1) { case 12: ygun += 31; case 11: ygun += 30; case 10: ygun += 31; case 9: ygun += 30; case 8: ygun += 31; case 7: ygun += 31; case 6: ygun += 30; case 5: ygun += 31; case 4: ygun += 30; case 3: ygun += 31; case 2: ygun += 28 + artik_yil(yil); /* 28+1 veya 28+0 */ case 1: ygun += 31; } return ygun; } |
ÇIKTI
1 2 |
01 08 2003 yilinin 213. gunudur |