C dili Fonksiyon yönlendirme

Bu konuyu okuyanlar

aksakall

Öğrenci
Katılım
11 Eylül 2017
Mesajlar
7
Reaksiyon puanı
0
Puanları
1
Merhaba

C 'de ana programda girilen degerleri fonksiyon1(deger gönderilen degeri döndüren foksiyon) e ilettim fakat geri dönüşü ana programa değilde Baska bir Fonksiyona2 iletmek istedigimde bana hata veriyor. Bu foksiyondan foksiyona atama yapabilmem için nasıl bir yol izlemeliyim
22047505_10155239753439261_410607030_o.jpg
 

OCB

Öğrenci
Katılım
6 Ekim 2017
Mesajlar
5
Reaksiyon puanı
1
Puanları
3
Yaş
27
Kodu atsan olur mu?
 

我喜欢人

Asistan
Katılım
4 Ekim 2017
Mesajlar
277
Reaksiyon puanı
75
Puanları
28
Yaş
33
programı buraya copy paste etsen olmaz mı?
--- Gönderi Güncellendi ---
 

aksakall

Öğrenci
Katılım
11 Eylül 2017
Mesajlar
7
Reaksiyon puanı
0
Puanları
1
#include<stdio.h>
#include<conio.h>
float hesap(float,float,float,float);
void yazdir(float);
void main()
{
float vize,pro,fin,kat;

printf("Ogrenci vize notunu gir: " );
scanf("%f",&vize);
printf("Ogrenci proje notunu gir: ");
scanf("%f",&pro);
printf("Ogrenci final notunu gir: ");
scanf("%f",&fin);
printf("Ogrenci derse katilim notu: ");
scanf("%f",&kat);


printf("\n");
//Bu alanda yazilmasi gerekiyor. (3)


getch();
}

float hesap(float vize,float pro,float fin,float kat)
{
// bu fonksiyonu diyer foksiyona atamak istiyorum. (1)
float donem;

donem=(vize*0.3)+(pro*0.2)+(fin*0.4)+(kat*0.1);

return donem;
}

void yazdir()
{
//fonksiyon buraya geldikten sonra (2)

if(not>=90)
printf("Donem Notu%.2f\nHarf Not A",not);
else if(not>=80)
printf("Donem Notu%.2f\nHarf Not B",not);
else if(not>=70)
printf("Donem Notu%.2f\nHarf Not C",not);
else if(not>=60)
printf("Donem Notu%.2f\nHarf Not D",not);
else
printf("Donem Notu%.2f\nHarf Not F",not);


}
--- Gönderi Güncellendi ---
kaza yaptım hastaneden çıkısım biraz geç oldu. Cevap veremedim kusura bakmayın
 

Ben Kenobi

Müdavim
Katılım
6 Kasım 2011
Mesajlar
7,336
Reaksiyon puanı
3,155
Puanları
113
Öncelikle fonksiyon denen şeyin mantığını anlamalısınız.
Fonksiyon, oradan oraya aktarım yapmak sonra onu başka yere aktarmak için kullanılan birşey değil.
Sizin o amaçla kullanacağınız şeyler ancak ileriki dönemde nesne yönelimli programlamada göreceğiniz objeler olacak.

Fonksiyon kısaca, tekrar eden kodları gruplamaktır.
Bu sayede misal programın başlarında, ortalarında ve sonlarında tekrar eden 20 satır kod varsa, bunu bir fonksiyonda toplarsınız, sonra bu fonksiyonu o kısımlarda çağırırsınız.
Bunun avantajı, yarın o kodları değiştirdiğinizde misal 3 yerde değişiklik yapmak yerine, tek yerde değişiklik yapmaktır.

Fonksiyonların size bir sonuç döndürmesini isteyebilirsiniz(misal fonksiyona 3 tane değer verip, harmonik ortalamasını bulmak) return de bu amaçla kullanılır.

İleride structları gördüğünüzde birden fazla değer döndürebilirsiniz, sınıflar da aynı amaçla kullanılabilir, hatta pointerları gördüğünüzde bütün fonksiyonları void yapıp, parametreleden giriş çıkış yapmak da isteyebilirsiniz.

Misal gördüğüm basit bir hata.
Fonksiyonları tanımlamışsınız ama çağırmamışsınız.
 

aksakall

Öğrenci
Katılım
11 Eylül 2017
Mesajlar
7
Reaksiyon puanı
0
Puanları
1
Mukemmel bir açiklamaydi teşekkürler.
 

Son mesajlar

Üst