Struct ile yapı oluşturuyoruz.
Pointer ile hafıza alanı isaretliyoruz.
#include<stdio.h>
struct ogrenci{
int yas;
char isim[15];
float vize, final;
};
float ortalama(struct ogrenci *);
void dosyaya_yazdir(struct ogrenci *);
int main(){
struct ogrenci ogr[5];
printf("ogrencinin alimi durdurmak icin yas = -1 girin\n");
int s;
for(s = 0; s < 5; s++){
printf("\n\n%d.ogrencinin bilgilerini giriniz\n", s+1);
printf("------------------------\n");
printf("yas:");
scanf("%d", &(ogr[s].yas));
if(ogr[s].yas == -1)
break;
printf("isim:");
scanf("%s", &(ogr[s].isim));
printf("final:");
scanf("%f", &(ogr[s].final));
printf("vize:");
scanf("%f", &(ogr[s].vize));
}
printf("ogrencinin alimi tamamlandi!\n");
dosyaya_yazdir(ogr);
return 0;
}
void dosyay_yazdir(struct ogrenci *student){
FILE *hedef_dosya;
hedef_dosya = fopen("ogrenci.dat", "w+");
int s;
for(s = 0; s < 5; s++){
if(student -> yas == -1)
break;
fprintf(hedef_dosya,"%d.ogrencinin bilgileri\n", s+1);
fprintf(hedef_dosya,"-----------------------\n", s+1);
fprintf(hedef_dosya,"isim: %s\n",student ->isim);
fprintf(hedef_dosya,"yas: %d\n", student ->yas);
fprintf(hedef_dosya,"Not ortalamasi: %.2f\n", ortalma(student));
student ++;
}
fclose(hedef_dosya);
}
float ortalam(struct ogrenci *st){
float sonuc;
sonuc = st->vize*0.4 + st->final*0.6;
return sonuc;
}

Hiç yorum yok:
Yorum Gönder
Her yorum bilgidir. Araştırmaya devam...