Facebook
From METE, 1 Year ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 128
  1. #include<stdio.h>
  2. #include<math.h>
  3. #include<string.h>
  4. #include<locale.h>
  5. #include<stdlib.h>
  6.  
  7. int k;
  8. int sec;
  9.  
  10. struct kisi
  11. {
  12. char isim[30],soyisim[30],harfnotu[20],sonuc[20];
  13. int vize1,vize2,final,snotu;
  14. }kisi[10];
  15.  
  16. void menu();
  17. void kayit_ekle(struct kisi[]);
  18. void kayitlari_listele(struct kisi[]);
  19.  
  20.  
  21.  
  22.  
  23. int main()
  24. {
  25.  setlocale(LC_ALL, "Turkish");
  26.  
  27. 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");
  28.  
  29. printf("\nbir islem seçiniz");
  30. scanf("%d",&sec);
  31.  
  32. if(sec==1)
  33. {
  34. kayit_ekle(kisi);
  35. }
  36.  
  37. }
  38.  
  39.  
  40.  
  41. void kayit_ekle(struct kisi kisi[2])
  42. {
  43.  printf("---Kayit ekle---\n");
  44.      for (k = 2; k>0; k--){
  45.          printf("Adi: ");
  46.          scanf("%s", kisi[k].isim);
  47.          printf("Soyadi: ");
  48.          scanf("%s", kisi[k].soyisim);
  49.          printf("1.Ara Sinav, 2.Ara Sinav, Final: ");
  50.          scanf("%d %d %d", &kisi[k].vize1, &kisi[k].vize2, &kisi[k].final);
  51.          printf("\n");
  52.          
  53.           }
  54.  
  55.         printf("Adi\tSoyadi\t1.ara sinav\t2.ara sinav\tfinal\n");
  56.        
  57.      for( k=2;k>0;k--){
  58.         printf("%s\t",kisi[k].isim);
  59.         printf("%c.\t",kisi[k].soyisim[0]);
  60.         printf("%d\t\t",kisi[k].vize1);
  61.         printf("%d\t\t",kisi[k].vize2);
  62.         printf("%d\t\t",kisi[k].final);
  63.         printf("\n");
  64.      }
  65.      menu();
  66.      
  67. }
  68. void kayitlari_listele(struct kisi kisi[])
  69. {
  70.   printf("---Kayitlari Listele---\n");
  71.         printf("Adi\tSoyadi\t1.ara sinav\t2.ara sinav\tfinal\tnotu\tharf\tdurumu\n");
  72.      
  73.        for(k=2;k>0;k--){
  74.         int ortalama=0;
  75.             ortalama = (kisi[k].vize1*20)/100 + (kisi[k].vize2*30)/100 + (kisi[k].final*50)/100;
  76.             kisi[k].snotu =ortalama;
  77.            
  78.   }
  79.   for(k=2;k>0;k--){
  80.  
  81.   switch( kisi[k].snotu){
  82.  
  83.   case 0 ... 49: {
  84.    strcpy(kisi[k].harfnotu, "FF");
  85.      strcpy(kisi[k].sonuc, "KALDI");
  86.      break;}
  87.         case 50 ... 59:{
  88.                 strcpy(kisi[k].harfnotu, "FD");
  89.      strcpy(kisi[k].sonuc, "ŞARTLI(GEÇTİ)");
  90.      break;
  91.         }
  92.         case 60 ... 64:{
  93.                 strcpy(kisi[k].harfnotu, "DD");
  94.      strcpy(kisi[k].sonuc, "GEÇTİ");
  95.      break;
  96.         }
  97.          case 65 ... 69:{
  98.                 strcpy(kisi[k].harfnotu, "DC");
  99.      strcpy(kisi[k].sonuc, "GEÇTİ");
  100.      break;
  101.         }
  102.         case 70 ... 74:{
  103.                 strcpy(kisi[k].harfnotu, "CC");
  104.      strcpy(kisi[k].sonuc, "GEÇTİ");
  105.      break;
  106.         }
  107.         case 75 ... 79:{
  108.                 strcpy(kisi[k].harfnotu, "CB");
  109.      strcpy(kisi[k].sonuc, "GEÇTİ");
  110.      break;
  111.         }
  112.          case 80 ... 84:{
  113.                 strcpy(kisi[k].harfnotu, "BB");
  114.      strcpy(kisi[k].sonuc, "GEÇTİ");
  115.      break;
  116.         }
  117.         case 85 ... 89:{
  118.                 strcpy(kisi[k].harfnotu, "AB");
  119.      strcpy(kisi[k].sonuc, "GEÇTİ");
  120.      break;
  121.         }
  122.          case 90 ... 100:{
  123.                 strcpy(kisi[k].harfnotu, "AA");
  124.      strcpy(kisi[k].sonuc, "GEÇTİ");
  125.      break;
  126.         }
  127.          }
  128.         }
  129.      for( k=2;k>0;k--){
  130.         printf("%s\t",kisi[k].isim);
  131.         printf("%c.\t",kisi[k].soyisim[0]);
  132.         printf("%d\t\t",kisi[k].vize1);
  133.         printf("%d\t\t",kisi[k].vize2);
  134.         printf("%d\t",kisi[k].final);
  135.         printf("%d\t",kisi[k].snotu);
  136.         printf("%s\t",kisi[k].harfnotu);
  137.         printf("%s\t",kisi[k].sonuc);
  138.         printf("\n");
  139. }
  140.  
  141. }
  142.  
  143.  void notlari_hesapla(struct kisi kisi[]){
  144.  
  145.    printf("---Sınıf başarı notlarını hesapla---\n");
  146.     printf("Adi\t");
  147.     printf("Soyad\t");
  148.     printf("Notu\n");
  149.  
  150.       for( k=2;k>0;k--){
  151.        printf("%s\t",kisi[k].isim);
  152.        printf("%c.\t",kisi[k].soyisim[0]);
  153.        printf("%d\n",kisi[k].snotu);
  154.      }
  155. }
  156.  
  157.  void kayitlari_sirala(struct kisi kisi[])
  158.  {
  159.  
  160.  
  161.  
  162.  
  163.     printf("---Kayıtları başarı notuna göre sırala---\n");
  164.       printf("Adi\tSoyadi\t1.ara sinav\t2.ara sinav\tfinal\tnotu\tharf\tdurumu\n");
  165.       k=2;
  166.      
  167.      
  168.       //        BURAYA YAZ
  169.      
  170.      
  171.      
  172.      
  173.       while(k>0)
  174.       {
  175.           printf("%s\t",kisi[k].isim);
  176.         printf("%c.\t",kisi[k].soyisim[0]);
  177.         printf("%d\t\t",kisi[k].vize1);
  178.         printf("%d\t\t",kisi[k].vize2);
  179.         printf("%d\t",kisi[k].final);
  180.         printf("%d\t",kisi[k].snotu);
  181.         printf("%s\t",kisi[k].harfnotu);
  182.         printf("%s\t",kisi[k].sonuc);
  183.         printf("\n");
  184.                 k--;
  185.                 }
  186.        
  187. }
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  void istatistiki_bilgiler(struct kisi kisi[])
  195.  {
  196.  /*int ust, alt;
  197.     int ust_kisi;
  198.     int orani;
  199.     int min= kisi[0].snotu;
  200.     int max= kisi[0].snotu;
  201.     int ortalamasi=0;
  202.      k=2;
  203.      */
  204.      
  205.      int ust, alt;
  206.      ust = kisi[0].snotu;
  207.      alt = kisi[0].snotu;
  208.      
  209.     for( k=0;k<2;k++){
  210.          if(kisi[k].snotu<alt)
  211.          alt= kisi[k].snotu;
  212.          if(kisi[k].snotu>ust)
  213.          ust= kisi[k].snotu;
  214.        
  215.     }
  216.         int ortalamasi=0;
  217. while(k>0){
  218.     ortalamasi=ortalamasi+kisi[k].snotu;
  219.     k--;
  220.     }
  221.     ortalamasi=ortalamasi/10;
  222.     int tekrar=0;
  223.     while(k>0){
  224.         if(kisi[k].snotu>ortalamasi)
  225.             tekrar++;
  226.             k--;
  227.     }
  228.  
  229.  int toplam=0;
  230.     while(k>0){
  231.         toplam =toplam + (abs(ortalamasi-kisi[k].snotu)*abs(ortalamasi-kisi[k].snotu));
  232.         k--;
  233.     }
  234.     int degisim = sqrt(toplam/(9));
  235.  
  236.    printf("---İstatistiki bilgiler---\n");
  237.    printf("En yuksek not:  %d\n", ust);
  238.    printf("En Dusuk not:  %d\n", alt);
  239.    printf("Sinif Ortalamasi:  %d\n", ortalamasi);
  240.    printf("Ortalama ust kisi Sayisi: %d\t", tekrar);
  241.    printf("Basari Orani:  %%");
  242.    printf("%d\n", tekrar*10);
  243.    printf("Standart sapma:  %d\n", degisim);
  244.  
  245.   }
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255. void menu()
  256. {
  257.  
  258.     printf("MENU\n");
  259.     printf("1-Kayit ekle\n");
  260.     printf("2-Kayitlari Listele\n");
  261.     printf("3-Sinif basari notlarini hesapla\n");
  262.     printf("4-Kayitlari basari notuna göre sirala\n");
  263.     printf("5-Istatistiki bilgiler\n");
  264.     printf("6-Cikis\n\n");
  265.     scanf("%d", &sec);
  266.    
  267.    
  268. switch(sec)
  269.     {
  270.     case 1:
  271.         kayit_ekle(kisi);
  272.         break;
  273.  case 2:
  274.     kayitlari_listele(kisi);
  275.     menu();
  276.     break;
  277.   case 3:
  278.         notlari_hesapla(kisi);
  279.         menu();
  280.         break;
  281.         case 4:
  282.         kayitlari_sirala(kisi);
  283.         menu();
  284.         break;
  285.         case 5:
  286.         istatistiki_bilgiler(kisi);
  287.                 menu();
  288.                 break;
  289. }
  290. }