List

C PROGRAMLAMA DİLİ ÖRNEKLER 

C programlama dili nasıl kullanılır ? Projeler nasıl yapılır ? C programlama dilinde örnek projeler nasıl yapılır ? Bu ve benzeri sorulara cevap aradığımız C Programlama Dili Örnekler adlı yazımızda C Programlama dili ile yapılmış örnek projeleri sizlerle paylaşıyoruz.

C DİLİ ÖRNEKLER  

C Programlama Örneği 1 :

Bir Stack uygulaması için C programı yazalım.Stack anlam olarak yığın,dizi  anlamlarına gelmektedir.Stack LIFO (Last in First Out – Son girer , İlk çıkar) data yapısına sahiptir.Burada Push (içeri alma işlemi) , POP (Silme işlemi) ve Display (gösterme işlemi) kullanılacaktır.

Başlayalım ;

#include <stdio.h>
#include <conio.h>
#define MAXSIZE 5

struct stack /* Stack için yapı tanımlaması */
{
int stk[MAXSIZE];
int top;
};

typedef struct stack STACK;
STACK s;

/* Fonksiyon Bildirimi/Prototip*/

void push (void);
int pop(void);
void display (void);

void main ()
{
int choice;
int option = 1;

clrscr ();

s.top = -1;

printf (“Stack İslemleri\n”);
while (option)
{
printf (“——————————————\n”);
printf (” 1 –> PUSH \n”);
printf (” 2 –> POP \n”);
printf (” 3 –> DISPLAY \n”);
printf (” 4 –> EXIT \n”);
printf (“——————————————\n”);

printf (“Seciminizi Giriniz\n”);
scanf (“%d”, &choice);

switch (choice)
{
case 1: push();
break;
case 2: pop();
break;
case 3: display();
break;
case 4: return;
}

fflush (stdin);
printf (“Devam Etmek İstiyormusunuz (Seç : 0 ya da 1)?\n”);
scanf (“%d”, &option);
}
}

/*Stack’a element ekleme fonksiyonu*/
void push ()
{
int num;
if (s.top == (MAXSIZE – 1))
{
printf (“Stack Dolu\n”);
return;
}
else
{
printf (“İçeri alınacak elaman girişi yapınız\n”);
scanf (“%d”, &num);
s.top = s.top + 1;
s.stk[s.top] = num;
}
return;
}

/*Stack’dan element silme fonksiyonu*/
int pop ()
{
int num;
if (s.top == – 1)
{
printf (“Stack Bos\n”);
return (s.top);
}
else
{
num = s.stk[s.top];
printf (“pop edilen element  = %d\n”, s.stk[s.top]);
s.top = s.top – 1;
}
return(num);
}

/*Stack durum gösterme fonksiyonu*/
void display ()
{
int i;
if (s.top == -1)
{
printf (“Stack bos\n”);
return;
}
else
{
printf (“\nStack’ın durumu\n”);
for (i = s.top; i >= 0; i–)
{
printf (“%d\n”, s.stk[i]);
}
}
printf (“\n”);
}

Çıktılar :
Stack İşlemleri ;
——————————————
1 –> PUSH
2 –> POP
3 –> DISPLAY
4 –> EXIT
——————————————
Seçiminizi Giriniz ;
1
Push edilecek elementi giriniz :
23
Devam Etmek İstiyor musunuz ? (Seç : 0 ya da 1)?
1
——————————————
1 –> PUSH
2 –> POP
3 –> DISPLAY
4 –> EXIT
——————————————
Seçiminizi Giriniz ;
1
Push edilecek elementi giriniz :
45
Devam Etmek İstiyor musunuz ? (Seç : 0 ya da 1)?
1
——————————————
1 –> PUSH
2 –> POP
3 –> DISPLAY
4 –> EXIT
——————————————
Seçiminizi Giriniz ;
1
Push edilecek elementi giriniz :
78
Devam Etmek İstiyor musunuz ? (Seç : 0 ya da 1)?
1
——————————————
1 –> PUSH
2 –> POP
3 –> DISPLAY
4 –> EXIT
——————————————
Seçimizini Giriniz :
3

Stack’ın Statüsü :
78
45
23

Devam Etmek İstiyor musunuz ? (Seç :  0 ya da 1)?
1
——————————————
1 –> PUSH
2 –> POP
3 –> DISPLAY
4 –> EXIT
——————————————
Seçiminizi Giriniz :
2
poped element = 78
Devam Etmek İstiyor musunuz ? (Seç :  0 ya da 1)?
1
——————————————
1 –> PUSH
2 –> POP
3 –> DISPLAY
4 –> EXIT
——————————————
Seçimizini Giriniz :
3

Stack’ın Statüsü :
78
45
23

Devam Etmek İstiyor musunuz ? (Seç :  0 ya da 1)?
0

C Programlama Örneği 2 :

Tek bağlantılı olan bir listenin işlemlerini göstermek adına bir C programı yazalım ;

Başlayalım :

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define MAX 30

struct EMP
{
int empno;
char empName[MAX];
char designation[MAX];
struct EMP *next;
};

/*Fonksiyon , karşı bağlantılı listeden bir node içeri alır */

/*front : Front pointer’ı , id : Çalışan ID , name : Çalışan ismi*/
/* desg:  Çalışan Gösterimi/Belirleme */

struct EMP* insert(struct EMP *front, int id, char name[], char desg[])
{
struct EMP *newnode;

newnode = (struct EMP*) malloc(sizeof(struct EMP));

if (newnode == NULL)
{
printf(“\nYerleştirme Yapılamadı\n”);
exit(2);
}
newnode->empno = id;
strcpy(newnode->empName, name);
strcpy(newnode->designation, desg);
newnode->next = front;
front = newnode;
return(front);
} /*insert() işleminin sonu */

/* Bağlantılılı listede gösterilecek nod fonksiyonu */
void printNode(struct EMP *p)
{
printf(“\nCalısan Detayları\n”);
printf(“\nCal No : %d”, p->empno);
printf(“\nİsim : %s”, p->empName);
printf(“\nGösterim : %s\n”, p->designation);
printf(“————————————-\n”);
} /*printNode()’un sonu */

/*Calısan numarasına göre deleteNode işlemi fonksiyonu*/
/* front: front pointer, id: anahtar deger */
/* Returns: ayarlı liste */

struct EMP* deleteNode(struct EMP *front, int id)
{
struct EMP *ptr;
struct EMP *bptr; /* bptr is pointing to the node behind ptr */

if (front->empno == id)
{
ptr = front;
printf(“\nNode silindi:”);
printNode(front);
front = front->next;
free(ptr);
return(front);
}

for(ptr=front->next, bptr=front; ptr!=NULL; ptr=ptr->next, bptr=bptr->next)
{
if (ptr->empno == id)
{
printf(“\nNode silindi:”);
printNode(ptr);
bptr->next = ptr->next;
free(ptr);
return(front);
}
}
printf(“\nCalısan numarası %d bulunamadı “, id);
return(front);
} /*deleteNode()’un sonu */

/* emp ID’e göre arama yapan fonksiyon */
/* front: front pointer, key: key ID. */

void search(struct EMP *front, int key)
{
struct EMP *ptr;

for (ptr = front; ptr != NULL; ptr = ptr -> next)
{
if (ptr->empno == key)
{
printf(“\nKey bulundu:”);
printNode(ptr);
return;
}
}
printf(“\nCalisan No %d bulunamadı “, key);
} /*End of search() */

/* Bağlantılı liste gösterme fonksiyonu */
void display(struct EMP *front)
{
struct EMP *ptr;

for (ptr = front; ptr != NULL; ptr = ptr->next)
{
printNode(ptr);
}
} /*display()’in sonu */

/* Bağlantılı listede menü işlemlerini gösterme fonksiyonu */
void menu()
{
printf(“*****************\n”);
printf(“Listeye nod eklemek icin 1’e basın. \n”);
printf(“Listeden nod silmek için 2’ye basın. \n”);
printf(“Listeyi göstermek için 3’e basın. \n”);
printf(“Listeyi aramak için 4’e basın \n”);
printf(“Cıkmak için 5’e basın \n”);
printf(“*******************\n”);
} /*menu() sonu */

/* Seçilmiş Fonksiyon */
char option()
{
char choice;

printf(“\n\n>> Seçiminizi Girin : “);
switch(choice=getche())
{
case ‘1’:
case ‘2’:
case ‘3’:
case ‘4’:
case ‘5’: return(choice);
default : printf(“\nYanlis Secim.”);
}
return choice;
} /*option() Sonu */

/*main() programı başlar ! */
void main()
{
struct EMP *linkList;
char name[21], desig[51];
char choice;
int eno;

linkList = NULL;

printf(“\nTek bağlantılı liste gösterimine hoşgeldiniz ! \n”);

menu(); /*Fonksiyon çağrısı */

do {
choice = option(); /*çalışacak işlemleri seçmek adına ; */

switch(choice)
{
case ‘1’: printf(“\nCalisan numarasını gir : “);
scanf(“%d”, &eno);

printf(“Calisan adını gir : “);
fflush(stdin);
gets(name);

printf(“Calisan tanımlamasını gir : “);
gets(desig);

linkList = insert(linkList, eno, name, desig);
break;

case ‘2’: printf(“\n\nSilinecek calisan numarasını gir: “);
scanf(“%d”, &eno);

linkList = deleteNode(linkList, eno);
break;

case ‘3’: if (linkList == NULL)
{
printf(“\nListe bos.”);
break;
}
display(linkList);
break;

case ‘4’: printf(“\n\nAranacak calisan numarasını gir : “);
scanf(“%d”, &eno);

search(linkList, eno);
break;

case ‘5’: break;
}
} while (choice != ‘5’);
} /*main() sonu*/

Çıktılar :

Tek Bağlantılı Liste Gösterimi :
———————————————
Listeye node eklemek için 1’e basınız !
Listeden node silmek için 2’e basınız !
Liste gösterimi için 3’e basınız !
Arama yapmak için 4’e basınız !
Çıkmak için 5’e basınız.
———————————————

>> Seciminizi Girin : 1
Calisan numarasını gir  : 1278
Calisan adını gir : Ahmet
Calisan tanımını gir  : İsci

>> Seciminizi Girin : 1
Calisan numarasını gir  : 9734
Calisan adını gir : Bayram
Calisan tanımını gir  : Mühendis

>> Seciminizi Girin : 1
Calisan numarasını gir  : 8761
Calisan adını gir : Kamil
Calisan tanımını gir  : Yönetici

>> Seciminizi Girin : 3

Calisan Detayları ;

Calisan No : 1278

İsim : Ahmet

Tanım : İsci
————————————-

Calisan Detayları ;

Calisan No : 9734

İsim : Bayram

Tanım : Mühendis
————————————-

Calisan Detayları ;

Calisan No : 8761

İsim : Kamil

Tanım : Yönetici
————————————-

>> Seciminizi Girin : 2

Silinecek Calisan Numarasını yazın : 1278

Node Silindi:
Calisan Detayları :

Calisan No : 1278

İsim : Ahmet

Tanım : İsci
————————————-

>> Seciminizi Girin : 3

Calisan Detayları ;

Calisan No : 9734

İsim : Bayram

Tanım : Mühendis
————————————-

Calisan Detayları ;

Calisan No : 8761

İsim : Kamil

Tanım : Yönetici
————————————-

>> Seçiminizi Girin : 4

Aratılacak calisan numarasını giriniz : 8762

8762 calisan numarası bulunamadı !

>> Seciminizi girin : 5

C Programlama Örneği 3 :

Bir array arama işlemi yapacağız.Eğer istenilen elementler bulunursa ‘başarılı arama’ , eğer bulunamazsa ‘başarısız arama’ olarak mesaj alacağız.

Başlayalım  ;

#include <stdio.h>
void main()
{
int table[20];
int i, low, mid, high, key, size;

printf(“Dizi boyutunu giriniz \n”);
scanf(“%d”, &size);

printf(“Dizi elementlerini giriniz ! \n”);
for(i = 0; i < size; i++)
{
scanf(“%d”, &table[i]);
}

printf(“Anahtar ifadeyi girin ! \n”);
scanf(“%d”, &key);

/* Arama başlatma */

low = 0;
high = (size – 1);

while(low <= high)
{
mid = (low + high)/2;
if(key == table[mid])
{
printf(“Basarılı Arama\n”);
return;
}
if(key < table[mid])
high = mid – 1;
else
low = mid + 1;
}

printf(“Basarisiz Arama\n”);
} /* main() fonk. sonu */

Çıktılar :
Dizi boyutunu giriniz !
5
Dizi Elementlerini giriniz !
12
36
45
78
99
Anahtar ifadeyi girin !
45

‘Basarili Arama’

C Programlama Örneği 4 :

Diskte depolanan verilerin nasıl okunduğunu bizlere gösteren bir C programı yazalım.

Başlayalım ;

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

void main()
{
FILE *fptr;
char filename[15];
char ch;

printf(“Açılacak Dosya Adı nedir ? \n”);
gets(filename);

fptr = fopen (filename, “r”); /*okuma için aç*/

if (fptr == NULL)
{
printf(“dosya acılamaz\n”);
exit(0);
}

ch = fgetc(fptr);

while (ch != EOF)
{
printf (“%c”, ch);
ch = fgetc(fptr);
}

fclose(fptr);
} /*main()’in sonu */

Çıktılar :
Açılacak dosya adı nedir ?

emp.rec (örnek ! )
İsim = Mehmet
Yaş = 25
Ücret = 3000

C PROGRAMLAMA DİLİ ÖRNEKLER  SONUÇ : 

Bugün C programlama dili örnekler adlı yazımızı sizlerle paylaştık.Bu yazı dizisi ile C programlama diline daha hakim hale gelmek için örnek programları inceleyecek ve paylaşacağız.Umuyorum faydalı olacaktır.

İyi Çalışmalar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.