#include #include #define MAX_OGRENCI 10 union quiz{ float q1, q2; }; struct tarih{ int gun, yil; char ay[10]; }; typedef struct ogrenci{ char ID[10]; char isim[50]; struct tarih dT; float vize, final, ort; char harfNotu; union quiz q; }Ogr; void menu(); void OgrenciEkle(); void OgrenciListele(); void Hesapla(int); void OgrenciAra(char []); Ogr ogrenciler[MAX_OGRENCI]; int sayac = 0; int main(){ menu(); /*struct tarih d1 = {15, 2024, "Ocak"}; union quiz q1; Ogr o1 = {"Ali", "12345", 80,90,85,'A'}; o1.dT = d1; */ char ent[5]; Ogr o1; int secim; do{ printf("Seciminiz: "); scanf("%d", &secim); scanf("%c", &ent); if(secim == 1){ OgrenciEkle(); } else if (secim == 2){ char ara[10]; printf("Aradiginiz ID: "); scanf("%s", ara); OgrenciAra(ara); } else if(secim==3){ OgrenciListele(); } else if(secim==4){ printf("Secim %d", secim); } else printf("Gecersiz islem girdiniz! "); } while(secim != -1); printf("Program Sonlanmistir......\n"); return 0; } void menu(){ printf("===================\n"); printf("1 - Ekleme\n"); printf("2 - Arama\n"); printf("3 - Listeleme\n"); printf("4 - Duzenleme\n"); printf("5 - Sil\n"); printf("-1 - Cikis\n"); printf("===================\n"); } void OgrenciEkle(){ if(sayac < MAX_OGRENCI){ Ogr o; printf("Ogrenci ismini giriniz:"); gets(o.isim); printf("Ogrenci No giriniz:"); scanf("%s", o.ID); printf("Dogum Tarihi giriniz (d m Y): "); scanf("%d %s %d", &o.dT.gun, &o.dT.ay, &o.dT.yil); printf("Vize Notu giriniz:"); scanf("%f", &o.vize); printf("Final Notu giriniz:"); scanf("%f", &o.final); ogrenciler[sayac] = o; Hesapla(sayac); sayac++; } else printf("Maksimum ogrenci sayisina ulasildi."); } void OgrenciListele(){ Ogr *ptr; ptr = &ogrenciler[0]; printf("Ogrenciler Listeleniyor\n-----------------------\n"); while(ptr->ID[0] != '\0'){ printf("ID: %s\tIsım: %s\tD.T: %d %s %d\n" "Vize: %.2f\tFinal: %.2f\n" "Ortalama: %.2f\tHarf Notu: %c", ptr->ID, ptr->isim, ptr->dT.gun, ptr->dT.ay, ptr->dT.yil, ptr->vize, ptr->final, ptr->ort, ptr->harfNotu); ptr++; } printf("\n----------------------------\n"); } void Hesapla(int indis){ float ort = ogrenciler[indis].vize*0.4 + ogrenciler[indis].final*0.6; ogrenciler[indis].ort = ort; if(ort >= 80 && ort <=100) ogrenciler[indis].harfNotu = 'A'; else if(ort >= 70 && ort <=79) ogrenciler[indis].harfNotu = 'B'; else if(ort >= 60 && ort <=69) ogrenciler[indis].harfNotu = 'C'; else if(ort >= 50 && ort <=59) ogrenciler[indis].harfNotu = 'D'; else if(ort < 50) ogrenciler[indis].harfNotu = 'F'; } int OgrenciVarmi(char id[10]){ int bulundu = -1, i; for(i = 0; i < MAX_OGRENCI; i++){ if(strcmp(id, ogrenciler[i].ID) == 0){ bulundu = i; break; } } return bulundu; } void OgrenciAra(char id[10]){ int bulundu = OgrenciVarmi(id); if(bulundu > -1){ Ogr o = ogrenciler[bulundu]; printf("******Ogrenci Bulundu*****\n"); printf("ID: %s\tIsım: %s\tD.T: %d %s %d\n" "Vize: %.2f\tFinal: %.2f\n" "Ortalama: %.2f\tHarf Notu: %c", o.ID, o.isim, o.dT.gun, o.dT.ay, o.dT.yil, o.vize, o.final, o.ort, o.harfNotu); printf("\n-------------------------\n"); } else printf("******Ogrenci Bulunamadi******\n"); }