C – Yapılar – Fonksiyonlar – Arrayler
C dilinde yapıları tanımlarken array leri kullanabildigimizi daha önce yazımızda bahsetmiştim. Önceki yazı için buraya tıklayabilirsiniz. Yapıları tanımladıktan sonra yapıları bir fonksiyon ile de yapıların içini doldurabiliyoruz. Bugun yapıları ilgili fonksiyon ve arrayleri kullanarak program yapacağım.
İlk program bir önceki yazımızda yapmış olduğumuz gibi öğrencinin bilgilerini isteyeceğim ama bu sefer arrayleri kullanarak sadece bir değilde daha fazla öğrencinin bilgilerini isteyebileceğim. Kod Dizimi;
#include<stdio.h> struct ogrenci{ char isim[30]; char soyisim[30]; char okulismi[30]; int okulnumarasi; }; int main(){ struct ogrenci ogrenci[4]; for(int i=0;i<4;i++){ scanf("%s%s%s%d",&ogrenci[i].isim,&ogrenci[i].soyisim,&ogrenci[i].okulismi,&ogrenci[i].okulnumarasi); } for(int i=0;i<4;i++){ printf("%s %s %s %d",ogrenci[i].isim,ogrenci[i].soyisim,ogrenci[i].okulismi,ogrenci[i].okulnumarasi); printf("\n"); } return 0; }
Ekran Çıktısı;
mark zuckerberg harvard 192 elon musk oxford 193 bill gates harvard 194 steve job okumadi 0 mark zuckerberg harvard 192 elon musk oxford 193 bill gates harvard 194 steve job okumadi 0
Şimdi ise yukarıda yaptığımız işlemleri fonksiyonlar yardımı ile yapacağım. Main fonksiyon içinde sadece fonksiyonları çağıracağım. Gene yukarıdaki gibi bir yapı oluşturup daha sonra 2 fonksiyon oluşturup ilk fonksiyonda kullanıcıdan bilgiler alacağım daha sonra diğer fonksiyon ile de ekrana bastıracağım. Kod Dizimi;
#include<stdio.h> struct ogrenci{ char isim[30]; char soyisim[30]; char okulismi[30]; int okulnumarasi; }; struct ogrenci bilgial(){ struct ogrenci yeniogrenci; scanf("%s%s%s%d",¥iogrenci.isim,¥iogrenci.soyisim,¥iogrenci.okulismi,¥iogrenci.okulnumarasi); return yeniogrenci; } void goster(struct ogrenci x){ printf("%s %s %s %d",x.isim,x.soyisim,x.okulismi,x.okulnumarasi); } int main(){ struct ogrenci ogrenci1=bilgial(); goster(ogrenci1); return 0; }
Ekran Çıktısı;
mark zuckerberg harvard 192 mark zuckerberg harvard 192