‘Yazılımcıklar’ olarak nitelediğim basit çalışmalarımdan biri olan Öğrenci Otomasyonu’nun özelliklerinden bazıları:

  • Öğrenci verilerini txt uzantılı dosyada saklayabilme
  • Txt dosyasından hazır öğrenci listesi yükleyebilme
  • Not ortalamasına göre sıralama, basit istatistikler
  • Final ve vize puanına göre sıralama
  • En yüksek final ve vize notlarını alan öğrencileri görüntüleme
  • Geçme-kalma durumu, geçen ve kalan öğrenci sayıları

Kaynak Kodlar:

//Öğrenci Otomasyon v1.6
//www.isikdogan.com

#include <stdio.h>
#include <stdlib.h>
#define kalin_cizgi printf("************************************************************\n")
#define ince_cizgi printf("-------------------------------------------------------------\n")
#define baslik printf("*============================*\n    Ogrenci Otomasyon v1.6\n*============================*\n\n")

void menu(void){
 system("cls"); baslik;
 printf("\n.::|*Islem Menusu *|::.\n-----------------------\n1.En yuksek vize puanini alan ogrenci
\n2.En yuksek final puanini alan ogrenci\n3.Final puanina gore sirala\n4.Vize puanina gore sirala
\n5.Genel Ortalamaya gore sirala, gecme-kalma durumu\n6.Cikis\n-----------------------\n");
 }

struct tablo{
 char ad[20];
 char soyad[20];
 int vize,final,ortalama;
 };
 typedef struct tablo tablo;

 int main()
 {
 int i,ogr_say,c,en,pass,gecme,vize_yuzde,final_yuzde,gecen=0,kalan=0;
 FILE *dosya;
 tablo temp,ogrenciler[1000];
 system("color 1f");
 printf("*============================*\n    Ogrenci Otomasyon v1.6\n*============================*\n\nYapimci:Furkan Isikakdogan\n\nwww.isikdogan.com\n");
 printf(" _______  _____                        __\n");
 printf("|       |.-----.----.-----.-----.----.|__|\n");
 printf("|   -   ||  _  |   _|  -__|     |  __||  |\n");
 printf("|_______||___  |__| |_____|__|__|____||__|\n");
 printf("         |_____|\n");
 printf(" _______ __\n");
 printf("|       |  |_.-----.--------.---.-.-----.--.--.-----.-----.\n");
 printf("|   -   |   _|  _  |        |  _  |__ --|  |  |  _  |     |\n");
 printf("|_______|____|_____|__|__|__|___._|_____|___  |_____|__|__|\n");
 printf("                                        |_____|\n");
 if((dosya=fopen("kayit.txt","r+"))==NULL){
 printf("\nHata: Kayit dosyasina ulasilamiyor.\nLutfen 'kayit.txt' dosyasinin varligindan
emin olun.\n");
 system("pause");}
 else{
 printf("\n--< Giris Menusu >--:\n1.Yeni giris yap\n2.Dosyadaki kayitlari goruntule
\n3.Islem menusu\n");
 scanf("%d",&c);
 if(c==1){
 system("cls"); baslik;
 printf("Lutfen ogrenci sayisini girin: ");
 scanf("%d",&ogr_say);

 for(i=0;i<ogr_say;i++){
 printf("\n%d . Ogrencinin adi ve soyadi: ",i+1); fflush( stdin );
 scanf("%s%s",&ogrenciler[i].ad,&ogrenciler[i].soyad);
 printf("\nVize ve Final notlari: ");
 scanf("%d%d",&ogrenciler[i].vize,&ogrenciler[i].final);
 fprintf(dosya,"%s %s %d %d\n",
 ogrenciler[i].ad,ogrenciler[i].soyad,ogrenciler[i].vize,ogrenciler[i].final);
 if(i!=ogr_say-1) printf("\n");
 ince_cizgi;
 }
 printf("\n<< Giris islemi tamalandi! >>\n");
 system("pause");
 }
 rewind(dosya);
 i=0;
 while(!feof(dosya)){
 fscanf(dosya,"%s%s%d%d",ogrenciler[i].ad,ogrenciler[i].soyad,&ogrenciler[i].vize,&ogrenciler[i].final);
 i++;}
 ogr_say=i;
 if(c==2){
 system("cls"); baslik;
 printf("\nSira  %-10s %-20s %-5s %-5s\n\n","Isim","Soyisim","Vize","Final");
 for(i=0;i<ogr_say;i++){
 printf("%d .   ",i+1); printf("%-10s %-20s %-5d %-5d\n",ogrenciler[i].ad,ogrenciler[i].soyad,ogrenciler[i].vize,ogrenciler[i].final); ince_cizgi;
 }
 system("pause");
 }
 if(c==3){
 for(1;1;1){ //sonsuz dongu baslangıcı
 menu();
 scanf("%d",&c);

 if(c==1){
 en=0;
 system("cls"); baslik;
 for(i=0;i<ogr_say;i++)
 if(ogrenciler[i].vize>ogrenciler[en].vize) en=i;
 kalin_cizgi;
 printf("En yuksek vize puanini alan ogrenci: "); printf("%s %s\n",ogrenciler[en].ad,ogrenciler[en].soyad);
 printf("\nAldigi puan (vize): %d\n",ogrenciler[en].vize);
 kalin_cizgi;
 system("pause");
 }

 if(c==2){en=0;
 system("cls"); baslik;
 for(i=0;i<ogr_say;i++)
 if(ogrenciler[i].final>ogrenciler[en].final) en=i;
 kalin_cizgi;
 printf("En yuksek final puanini alan ogrenci: "); printf("%s %s\n",ogrenciler[en].ad,ogrenciler[en].soyad);;
 printf("\nAldigi puan (final): %d\n",ogrenciler[en].final);
 kalin_cizgi;
 system("pause");
 }

 if(c==3){
 system("cls"); baslik;
 for(pass=1;pass<ogr_say;pass++)
 for(i=0;i<ogr_say-1;i++){
 if(ogrenciler[i].final<ogrenciler[i+1].final){
 temp=ogrenciler[i];
 ogrenciler[i]=ogrenciler[i+1];
 ogrenciler[i+1]=temp;
 }
 }

 printf("\nSira  %-10s %-20s %-5s %-5s\n\n","Isim","Soyisim","Vize","Final");
 for(i=0;i<ogr_say;i++){
 printf("%d .   ",i+1); printf("%-10s %-20s %-5d %-5d\n",ogrenciler[i].ad,ogrenciler[i].soyad,ogrenciler[i].vize,ogrenciler[i].final); ince_cizgi;}
 system("pause");
 }         

 if(c==4){
 system("cls"); baslik;
 for(pass=1;pass<ogr_say;pass++)
 for(i=0;i<ogr_say-1;i++){
 if(ogrenciler[i].vize<ogrenciler[i+1].vize){
 temp=ogrenciler[i];
 ogrenciler[i]=ogrenciler[i+1];
 ogrenciler[i+1]=temp;
 }
 }

 printf("\nSira  %-10s %-20s %-5s %-5s\n\n","Isim","Soyisim","Vize","Final");
 for(i=0;i<ogr_say;i++){
 printf("%d .   ",i+1); printf("%-10s %-20s %-5d %-5d\n",ogrenciler[i].ad,ogrenciler[i].soyad,ogrenciler[i].vize,ogrenciler[i].final); ince_cizgi;}
 system("pause");
 }   

 if(c==5){
 system("cls"); baslik;
 printf("Lutfen gecme puanini girin: "); scanf("%d",&gecme);
 printf("\nVize yuzdesi: "); scanf("%d",&vize_yuzde);
 printf("\nFinal yuzdesi: "); scanf("%d",&final_yuzde);
 for(i=0;i<ogr_say;i++)
 ogrenciler[i].ortalama=(ogrenciler[i].vize*vize_yuzde+ogrenciler[i].final*final_yuzde)/100;

 for(pass=1;pass<ogr_say;pass++)
 for(i=0;i<ogr_say-1;i++){
 if(ogrenciler[i].ortalama<ogrenciler[i+1].ortalama){
 temp=ogrenciler[i];
 ogrenciler[i]=ogrenciler[i+1];
 ogrenciler[i+1]=temp;
 }
 }

 printf("%-10s %-20s %-5s %-5s %-10s %-10s\n\n","Isim","Soyisim","Vize","Final","Ortalama","Sonuc");
 for(i=0;i<ogr_say;i++){
 if(ogrenciler[i].ortalama>=gecme){gecen++;
 printf("%-10s %-20s  %-5d %-5d %-10d %-10s\n",ogrenciler[i].ad,ogrenciler[i].soyad,ogrenciler[i].vize,ogrenciler[i].final,ogrenciler[i].ortalama,"GECTi");
 ince_cizgi;
 }
 else{kalan++;
 printf("%-10s %-20s  %-5d %-5d %-10d %-10s\n",ogrenciler[i].ad,ogrenciler[i].soyad,ogrenciler[i].vize,ogrenciler[i].final,ogrenciler[i].ortalama,"KALDI");
 ince_cizgi;
 }}kalin_cizgi;
 printf("Gecen ogrenci sayisi: %d\nKalan ogrenci sayisi: %d\n",gecen,kalan); kalin_cizgi;
 system("pause");
 }

 if(c==6){ fclose(dosya); return 0;}

 }
 }//sonsuz menü döngüsü bitimi
}//if bitim
if(c<1||c>3){ printf("Hatali secim yaptiniz!\n"); system("pause");}

 }

Yorumlar:

Siz de yorum ekleyin

Arşivler
Meta