- #include<stdio.h>
- #include<math.h>
- #include<string.h>
- #include<locale.h>
- #include<stdlib.h>
- int k;
- int sec;
- struct kisi
- {
- char isim[30],soyisim[30],harfnotu[20],sonuc[20];
- int vize1,vize2,final,snotu;
- }kisi[10];
- void menu();
- void kayit_ekle(struct kisi[]);
- void kayitlari_listele(struct kisi[]);
- int main()
- {
- setlocale(LC_ALL, "Turkish");
- printf("MENÜ\n1-kayit ekle\n2-kayitlari listele\n3-sinif basari notlarini hesapla\n4-kayitlari basari notuna göre sirala\n5-istatistiki bilgiler\n6-çikis");
- printf("\nbir islem seçiniz");
- scanf("%d",&sec);
- if(sec==1)
- {
- kayit_ekle(kisi);
- }
- }
- void kayit_ekle(struct kisi kisi[2])
- {
- printf("---Kayit ekle---\n");
- for (k = 2; k>0; k--){
- printf("Adi: ");
- scanf("%s", kisi[k].isim);
- printf("Soyadi: ");
- scanf("%s", kisi[k].soyisim);
- printf("1.Ara Sinav, 2.Ara Sinav, Final: ");
- scanf("%d %d %d", &kisi[k].vize1, &kisi[k].vize2, &kisi[k].final);
- printf("\n");
- }
- printf("Adi\tSoyadi\t1.ara sinav\t2.ara sinav\tfinal\n");
- for( k=2;k>0;k--){
- printf("%s\t",kisi[k].isim);
- printf("%c.\t",kisi[k].soyisim[0]);
- printf("%d\t\t",kisi[k].vize1);
- printf("%d\t\t",kisi[k].vize2);
- printf("%d\t\t",kisi[k].final);
- printf("\n");
- }
- menu();
- }
- void kayitlari_listele(struct kisi kisi[])
- {
- printf("---Kayitlari Listele---\n");
- printf("Adi\tSoyadi\t1.ara sinav\t2.ara sinav\tfinal\tnotu\tharf\tdurumu\n");
- for(k=2;k>0;k--){
- int ortalama=0;
- ortalama = (kisi[k].vize1*20)/100 + (kisi[k].vize2*30)/100 + (kisi[k].final*50)/100;
- kisi[k].snotu =ortalama;
- }
- for(k=2;k>0;k--){
- switch( kisi[k].snotu){
- case 0 ... 49: {
- strcpy(kisi[k].harfnotu, "FF");
- strcpy(kisi[k].sonuc, "KALDI");
- break;}
- case 50 ... 59:{
- strcpy(kisi[k].harfnotu, "FD");
- strcpy(kisi[k].sonuc, "ŞARTLI(GEÇTİ)");
- break;
- }
- case 60 ... 64:{
- strcpy(kisi[k].harfnotu, "DD");
- strcpy(kisi[k].sonuc, "GEÇTİ");
- break;
- }
- case 65 ... 69:{
- strcpy(kisi[k].harfnotu, "DC");
- strcpy(kisi[k].sonuc, "GEÇTİ");
- break;
- }
- case 70 ... 74:{
- strcpy(kisi[k].harfnotu, "CC");
- strcpy(kisi[k].sonuc, "GEÇTİ");
- break;
- }
- case 75 ... 79:{
- strcpy(kisi[k].harfnotu, "CB");
- strcpy(kisi[k].sonuc, "GEÇTİ");
- break;
- }
- case 80 ... 84:{
- strcpy(kisi[k].harfnotu, "BB");
- strcpy(kisi[k].sonuc, "GEÇTİ");
- break;
- }
- case 85 ... 89:{
- strcpy(kisi[k].harfnotu, "AB");
- strcpy(kisi[k].sonuc, "GEÇTİ");
- break;
- }
- case 90 ... 100:{
- strcpy(kisi[k].harfnotu, "AA");
- strcpy(kisi[k].sonuc, "GEÇTİ");
- break;
- }
- }
- }
- for( k=2;k>0;k--){
- printf("%s\t",kisi[k].isim);
- printf("%c.\t",kisi[k].soyisim[0]);
- printf("%d\t\t",kisi[k].vize1);
- printf("%d\t\t",kisi[k].vize2);
- printf("%d\t",kisi[k].final);
- printf("%d\t",kisi[k].snotu);
- printf("%s\t",kisi[k].harfnotu);
- printf("%s\t",kisi[k].sonuc);
- printf("\n");
- }
- }
- void notlari_hesapla(struct kisi kisi[]){
- printf("---Sınıf başarı notlarını hesapla---\n");
- printf("Adi\t");
- printf("Soyad\t");
- printf("Notu\n");
- for( k=2;k>0;k--){
- printf("%s\t",kisi[k].isim);
- printf("%c.\t",kisi[k].soyisim[0]);
- printf("%d\n",kisi[k].snotu);
- }
- }
- void kayitlari_sirala(struct kisi kisi[])
- {
- printf("---Kayıtları başarı notuna göre sırala---\n");
- printf("Adi\tSoyadi\t1.ara sinav\t2.ara sinav\tfinal\tnotu\tharf\tdurumu\n");
- k=2;
- // BURAYA YAZ
- while(k>0)
- {
- printf("%s\t",kisi[k].isim);
- printf("%c.\t",kisi[k].soyisim[0]);
- printf("%d\t\t",kisi[k].vize1);
- printf("%d\t\t",kisi[k].vize2);
- printf("%d\t",kisi[k].final);
- printf("%d\t",kisi[k].snotu);
- printf("%s\t",kisi[k].harfnotu);
- printf("%s\t",kisi[k].sonuc);
- printf("\n");
- k--;
- }
- }
- void istatistiki_bilgiler(struct kisi kisi[])
- {
- /*int ust, alt;
- int ust_kisi;
- int orani;
- int min= kisi[0].snotu;
- int max= kisi[0].snotu;
- int ortalamasi=0;
- k=2;
- */
- int ust, alt;
- ust = kisi[0].snotu;
- alt = kisi[0].snotu;
- for( k=0;k<2;k++){
- if(kisi[k].snotu<alt)
- alt= kisi[k].snotu;
- if(kisi[k].snotu>ust)
- ust= kisi[k].snotu;
- }
- int ortalamasi=0;
- while(k>0){
- ortalamasi=ortalamasi+kisi[k].snotu;
- k--;
- }
- ortalamasi=ortalamasi/10;
- int tekrar=0;
- while(k>0){
- if(kisi[k].snotu>ortalamasi)
- tekrar++;
- k--;
- }
- int toplam=0;
- while(k>0){
- toplam =toplam + (abs(ortalamasi-kisi[k].snotu)*abs(ortalamasi-kisi[k].snotu));
- k--;
- }
- int degisim = sqrt(toplam/(9));
- printf("---İstatistiki bilgiler---\n");
- printf("En yuksek not: %d\n", ust);
- printf("En Dusuk not: %d\n", alt);
- printf("Sinif Ortalamasi: %d\n", ortalamasi);
- printf("Ortalama ust kisi Sayisi: %d\t", tekrar);
- printf("Basari Orani: %%");
- printf("%d\n", tekrar*10);
- printf("Standart sapma: %d\n", degisim);
- }
- void menu()
- {
- printf("MENU\n");
- printf("1-Kayit ekle\n");
- printf("2-Kayitlari Listele\n");
- printf("3-Sinif basari notlarini hesapla\n");
- printf("4-Kayitlari basari notuna göre sirala\n");
- printf("5-Istatistiki bilgiler\n");
- printf("6-Cikis\n\n");
- scanf("%d", &sec);
- switch(sec)
- {
- case 1:
- kayit_ekle(kisi);
- break;
- case 2:
- kayitlari_listele(kisi);
- menu();
- break;
- case 3:
- notlari_hesapla(kisi);
- menu();
- break;
- case 4:
- kayitlari_sirala(kisi);
- menu();
- break;
- case 5:
- istatistiki_bilgiler(kisi);
- menu();
- break;
- }
- }