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...