▃ ▅ ησ ♥ яєѕρєcт ▅ ▃
Süper Üye
void Fonksiyonlar
01:
02:
03:
04:
05:
06:
07:
08:
09:
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:
/* 08prg03.c: Basit bankamatik simulasyonu.
İstenen para miktarını 20, 10 ve 5'lik birimlere böler
ve sonucu ekrana gösterir. */
#include <stdio.h>
void bankamatik(int para)
{
int a,yirmilik,onluk,beslik;
a = para;
if(a%5==0)
{
yirmilik = a/20;
a -= yirmilik*20;
onluk = a/10;
a -= onluk*10;
beslik = a/5;
a -= beslik*5;
printf("\nYirmilik = %d",yirmilik);
printf("\nOnluk = %d",onluk);
printf("\nBeslik = %d\n",beslik);
}
else
printf("Girilen miktar 5 YTL ve katlari olmali!\a\n");
/* return deyimi yok !*/
}
int main()
{
int miktar;
printf("Cekilecek para miktari (YTL) = ");
scanf("%d",&miktar);
bankamatik(miktar); /* fonksiyon bir değişkene atanmamış ! */
retrun 0;
}
ÇIKTI
Cekilecek para miktari = 135
Yirmilik = 6
Onluk = 1
Beslik = 1
ÇIKTI
Cekilecek para miktari = 456
Girilen miktar 5 YTL ve katlari olmali!
{ {
... ...
} }
şeklindeki kullanımlar geçerli ve aynı anlamdadır.
01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
/* 08prg04.c: Basit bir kutu çizen fonksiyon */
#include <stdio.h>
void kutu_ciz( int satir, int sutun )
{
int sut;
for ( ; satir > 0; satir--)
{
for (sut = sutun; sut > 0; sut--)
printf("X");
printf("\n");
}
}
int main(){
kutu_ciz(8,35);
return 0;
}
ÇIKTI
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Bir fonksiyonun her zaman geri dönüş değerinin olması gerekmez. Bu durumda return deyimi kullanılmayabilir. Eğer bu anahtar kelime yoksa, fonksiyon ana bloğu bitince kendiliğinden sonlanır. Böyle fonksiyonların tipi void (boş, hükümsüz) olarak belirtilmelidir. Bu tip fonksiyonlar başka bir yerde kullanılırken, herhangi bir değişkene atanması söz konusu değildir, çünkü geri dönüş değeri yoktur. Ancak, void fonksiyonlara parametre aktarımı yapmak mümkündür.
Program 8.3'de void fonksiyona örnek olarak bankamatik fonksiyonu ve kullanımı gösterilmiştir. Bu fonksiyon kendisine parametre olarak gelen YTL cinsinden para miktarını 20, 10 ve 5 YTL'lik birimler halinde hesaplar. Girilen miktar 5 YTL'nin bir katı değilse, ekrana uygun bir mesaj gönderir. bankamatik fonksiyonu bir dizi hesap yapmasına rağmen geriye hiç bir değer göndermez.
Bağlantıları görmek için lütfen
Giriş Yap
void tipinde bir fonksiyon kullanımı01:
02:
03:
04:
05:
06:
07:
08:
09:
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:
/* 08prg03.c: Basit bankamatik simulasyonu.
İstenen para miktarını 20, 10 ve 5'lik birimlere böler
ve sonucu ekrana gösterir. */
#include <stdio.h>
void bankamatik(int para)
{
int a,yirmilik,onluk,beslik;
a = para;
if(a%5==0)
{
yirmilik = a/20;
a -= yirmilik*20;
onluk = a/10;
a -= onluk*10;
beslik = a/5;
a -= beslik*5;
printf("\nYirmilik = %d",yirmilik);
printf("\nOnluk = %d",onluk);
printf("\nBeslik = %d\n",beslik);
}
else
printf("Girilen miktar 5 YTL ve katlari olmali!\a\n");
/* return deyimi yok !*/
}
int main()
{
int miktar;
printf("Cekilecek para miktari (YTL) = ");
scanf("%d",&miktar);
bankamatik(miktar); /* fonksiyon bir değişkene atanmamış ! */
retrun 0;
}
ÇIKTI
Cekilecek para miktari = 135
Yirmilik = 6
Onluk = 1
Beslik = 1
ÇIKTI
Cekilecek para miktari = 456
Girilen miktar 5 YTL ve katlari olmali!
void anahtar sözcüğü C'ye sonradan dahil edilmiştir. Standart C'de (ANSI C) bu deyimin kullanılması zorunlu değildir. Ancak bu deyim okunabilirliği arttırmaktadır. Örneğin:
void bankamatik(int para) bankamatik(int para){ {
... ...
} }
şeklindeki kullanımlar geçerli ve aynı anlamdadır.
Başka bir void fonksiyon örneği Program 8.4'de verilmiştir. Programdaki kutu_ciz fonksiyonu, iki for döngüsü kullanarak 'X' karakterlerinden oluşan basit bir kutu çizimi yapar. Programda de sadece 18. satır defalarca işleme konur. Program çalıştırıldığında 8*35=280 adet 'X' karakteri ekrana bastırılır. İnceleyiniz.
Bağlantıları görmek için lütfen
Giriş Yap
basit kutu çizen fonksiyon01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
/* 08prg04.c: Basit bir kutu çizen fonksiyon */
#include <stdio.h>
void kutu_ciz( int satir, int sutun )
{
int sut;
for ( ; satir > 0; satir--)
{
for (sut = sutun; sut > 0; sut--)
printf("X");
printf("\n");
}
}
int main(){
kutu_ciz(8,35);
return 0;
}
ÇIKTI
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX