Enumerated Data Types

Bu bölümde ufak bir bilgilendirme yapmayı düşündüm. Enumereted data types konusunun türkçeleştirilmiş hali “numaralandırılmış veri tipleri” olarak çevirilebilir. Bu tipi genellikle switch-case kontrollerinde yapabilirsiniz. Günlerden örnek verecek olursak;

Örneği kullanabilmek için konsoldan bir sayı girmeniz gerekmektedir.

   
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool
    {
        enum days { pazartesi = 1, sali = 2, carsamba = 3, persembe = 4, cuma = 5 };
        enum days entry;
        
        NSLog(@"1 ile 5 arasında bir sayı girin :: ");
        scanf("%i", &entry);
        
        switch (entry)
        {
            case pazartesi:
                NSLog(@"bugün günlerden pazartesi");
                break;
                
            case sali :
                NSLog(@"bugün günlerden salı");
                break;
                
            case carsamba :
                NSLog(@"bugün günlerden çarşamba");
                break;
            
            case persembe :
                NSLog(@"bugün günlerden perşembe");
                break;
            
            case cuma :
                NSLog(@"bugün günlerden cuma");
                break;

            default:
                break;
                
        }
        
     }
    return 0;
}


Advertisements

C programlama dilinde Boolean yapısı

C programlama dili aslına bakılırsa bütün programlama dilinin temel taşı. Fakat C’den sonraki çıkan programlama dilinin bir çok özelliği C’de yok. Boolean yapıları da bunlardan bir tanesi. Eğer kullandığınız derleyici türü C99 standartlarının altındaysa Boolean yapılarını kullanmanız mümkün olmuyor (farklı yöntemler kullanarak yıpalabilir örneğin : define yönetimiyle.) fakat bu yönteme hiç başvurmadan direkt olarak C boolean kütüphanesini import etmemiz işimizi görecektir. Örnek;

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h> // bu yapıyı kullanmanız gerekiyor.

bool isActiveFunction = false;

int main()
{
     if(isActiveFunction != true) return;
     return 0;
}

C Sorting Array with Quickly Array Sort Algorithm

#include <stdio.h>
#include <stdlib.h>

void quickSort(int[10], int, int);

int main()
{
    int x_arr[20];
    int size;
    int i;

    printf("Array'in boyutunu giriniz : ");
    scanf("%d", &size);

    printf("Lütfen %d eleman giriniz  : ", size);

    for(i = 0; i < size; i++)
        scanf("%d", &x_arr[i]);

    quickSort(x_arr, 0, size-1);

    printf("Siralanmis elemanlar :: ");
    for(i = 0; i < size; i++)
        printf(" %d", x_arr[i]);

    return 0;
}

void quickSort(int x_array[10], int first, int last)
{
    int pivot;
    int i,j;
    int temp;

    if(first < last)
    {
        pivot = first;
        i = first;
        j = last;

        while(i < j)
        {
            while(x_array[i] <= x_array[pivot] && i < last)
                i++;

            while(x_array[j] > x_array[pivot])
                j--;

            if(i < j)
            {
                temp = x_array[i];
                x_array[i] = x_array[j];
                x_array[j] = temp;
            }
        }

        temp = x_array[pivot];
        x_array[pivot] = x_array[j];
        x_array[j] = temp;

        quickSort(x_array, first, j-1);
        quickSort(x_array, j + 1, last);
    }
}

C programında Array length

Bir çok programlama dilinde array’ın lengtini kolay bir yolla alabiliyoruz. Örneğin ActionScript’de alırken şu şekilde alabiliyoruz array.length; dediğimizde dizinin içerisinde kaç adet değer olduğunu belirtiyordu. aynı şekilde C#’da array.getLength(0); dediğinizde arrayın genişliğini alabiliyoruz. Fakat C programında biraz farklı yöntemle array’ın lengtini alabiliriz. Şöyle;

int sayilar[5] = {0,1,2,3,4};
int sayilar_genislik = sizeof(sayilar) / sizeof(int);
int i;

for(i=0; i<sayilar_genislik; i++)
{
printf("Sayilarimiz sirasiyla : %d\n", sayilar[i]);
}

şeklinde array’ın lengtini alabilirsiniz…

C programlama fonksiyona string yollamak

Yazacağımız programlarda uygulamamızın içine değer yollamak isteyebiliriz. Bu gibi durumlarda C programında bazı kriterler mevcut. Normal programlamada fonksiyon_adi(“string değerimiz”) şeklinde gönderirken C programlamada bu durum biraz değişiyor. Şöyle;

/*Burası önemli karakterimizin boyutunu belirtmek zorundayız. Ben girilen karakterin toplamda 12 olmasını istiyorum.*/
char karakter_goster(char str[12]);

int main()
{
//Toplamda 12 karakter oldu.
karakter_goster("SerhatSezer.");
return 0;
}

//Burada da karakterimizin boyutunu belirtmek zorundayız.
char karakter_goster(char str[12])
{
printf("Girdiginiz karakter %s \n", str);
}