Kayıtlar

break etiketine sahip yayınlar gösteriliyor

18 : Sayi Pozitif mi? Fonksiyonda enum döndürme

Fonksiyonların bir sayı döndürdüğünü görmüştük. Ya da bir fonksiyon bir değer döndürmeyip void şeklinde de tanımlanabilir. Dönüş değeri bunların yanında yapısal tipte de olabilir. Sayısal tiplerin haricinde şuana kadarki örneklerde sadece enumeration kullandığım için yine bu şekilde örnekleyeceğim. Daha sonra struct gibi tiplerin örneklerini verdiğimizde fonksiyonlarda da nasıl kullanıldığından bahsedebiliriz. Bu örnekte bir enumeration oluşturacağız. Bu enumeration sayının pozitif, negatif ya da sıfır olduğunu gösterecek. Yine kullanıcıdan bir sayı girmesini isteyeceğiz. Bu sayıyı doğrudan fonksiyona göndereceğiz. Bu sayıyı fonksiyonda kontrol edip hangi durumda olduğunu enumeration ile döndürüp bir switch case yapısı ile yazdıracağız. kontrol.c #include <stdio.h> enum sayi_durumu { sifir = 0, negatif, pozitif }; enum sayi_durumu kontrol (int val); int main() { int val1 = 0; int val2 = 0; printf("Ilk degeri giriniz: "); scanf("%d", &val1); ...

16 : Asal Sayı Kontrolü - void fonksiyon

Bir önceki örnekte fonksiyonlar bir iş yapıp bize bir değer dönüyordu. Biz bu değerleri bir dğeişkene atayıp bu değişken ile yeni bir iş yapıyorduk. Ancak bazı durumda bi iş yaptıktan sonra bizim geri dönüşe ihtiyacımız olmayabilir. Bir örnek ile görelim. Bir sayi isteyeceğiz ve bu sayi asal mi kontrol edeceğiz. asalmi.c #include<stdio.h> void asalmi(int param); int main() { int sayi; printf("Bir sayi giriniz: "); scanf("%d", &sayi); asalmi(sayi); return 0; } void asalmi(int param) { int i, asal = 1; for(i=2; i <= param/2; ++i) { if(param % i == 0) { asal = 0; break; } } if (asal == 1) printf("%d asaldir.\n", param); else printf("%d asal degildir.\n", param); } Burada fonksiyon bir sayi alacak ve kontrol edip bize sonucu yazdıracak. Bize herhangi bir değer dönmesine gerek kalmayacak. Bu sebeple fonksiyonun dönüş değer...

Fonksiyonlar - 15 : Aritmetik işlemler

Uzun kodlar yazılmaya başlandığında bazı kod parçaları tekrar edilmeye başlar. Ayrıca çok uzun satırlar kodun okunmasını zorlaştırır. Hata çözmedeki verim bir hayli düşer. Bu sebeplerden dolayı her işi kendi fonksiyonlarında yaptırmak daha doğru olur. Yani aritmetik bir işlem yapılırken aritmetik isimli bir fonksiyonda dört işlem yaptırmak yerine her işlem için ayrı bir fonksiyon yazmak daha doğru olur. Daha önce yazdığımız dört işlem kodunu fonksiyonlarla ve birden fazla kez işlem yapabilecek şekilde genişletelim. aritmetikfonksiyonlar.c #include<stdio.h> double topla (double sayi1, double sayi2); //prototipler double cikar (double sayi1, double sayi2); double carp (double sayi1, double sayi2); double bol (double sayi1, double sayi2); int main() { char islem; double sayi1, sayi2, sonuc; int bitir = 0; while(1) { printf("Islemi seciniz (+, -, *, /) cikis icin c: "); do{ islem = getchar(); }while (isspace(islem)); if (is...

11 : Fibonacci Serisi

Tekrarlanan işleri for döngüsü ile yapabildiğimizi gördük. Ancak tek yöntem bu değil. Döngüler konusunun en popüler örneklerinden biri fibonacci serileridir. Bu örneği hem for döngüsü ile yapalım hem de bir diğer döngü olan while ile yapalım. Koda geçmeden önce fibonacci serisinden bahsedelim. Bu seri 1'den başlayıp bir sonraki sayıyı kendisi ve bir önceki sayıyı toplayarak bulmasıyla oluşur. Yani 1'den başlayan fibonacci serisi şöyle değerler alır. 1-1-2-3-5-8-13-21... Bu serinin popüler olmasının nedeni ise sonsuzdaki son iki değerin birbirine bölümünün altın oranı vermesi. Bunu da belirtmeden geçmeyelim. Burada sonsuza kadar gidebildiği için ve bizim bunu gerçekleştirmemiz olası olmadığı için kendimize bir durak noktası seçeceğiz. Örneğin 10 değer yazdırabiliriz.  fibonacci.c #include<stdio.h> int main() { int N = 10; int t1 = 0; int t2 = 1; int next = 0; int i = 0; for (i = 0; i < N; i++) { printf("%d ",t2); ...

7 : Dört İşlem

    Koşullu yapılar kurmak için if else yapısı haricinde bir yapı da kullanabiliriz. Bu yapıda gelen değerlerin ne olduğunu ön görmemiz gerekiyor. Ön göremediklerimiz ile ya ilgilenmiyoruz ya da hepsi için aynı tepkiyi veriyoruz. Bu yapı switch case yapısı olarak isimlendiriliyor.  dortislem.c # include <stdio.h> int main() { char islem; double sayi1, sayi2; printf("Islemi seciniz (+, -, *, /): "); scanf("%c", &islem); printf("Ilk sayiyi giriniz: "); scanf("%lf", &sayi1); printf("Ikinci sayiyi giriniz: "); scanf("%lf", &sayi2); switch(islem) { case '+': printf("%g + %g = %g\n",sayi1, sayi2, sayi1 + sayi2); break; case '-': printf("%g - %g = %g\n",sayi1, sayi2, sayi1 - sayi2); break; case '*': printf("%g * %g = %g\n",sayi1, sa...