Cumartesi Mart 10th, 2018

C – Yapılar – Fonksiyonlar – Arrayler

ile Ebubekir Sezer

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",&yeniogrenci.isim,&yeniogrenci.soyisim,&yeniogrenci.okulismi,&yeniogrenci.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