Monday 24 March 2014

C diliyle yapılmış basit bir Öğrenci otomasyonu...

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
    struct kayit{
       char ad[10];
       char soyad[10];
       int no;
       int kontrol;
       };// onemliii...
     
    void menu(){
    printf("1.KAYIT EKLEME\n");
    printf("2.KAYIT LISTELE\n");
    printf("3.KAYIT ARAMA\n");
    printf("4.KAYIT GUNCELLEME\n");
    printf("5.KAYIT SİLME\n");
    printf("6.CIKIS\n");
    }  
    void kayitekle(){
   
 
    int i,j,temp;
    char gecici1[10];
    struct kayit ogrenciyeni,ogrenci;
    FILE *dosya,*gecici;
    dosya=fopen("ogrenci.txt","a+");
    gecici=fopen("a.txt","a");
    if(dosya==NULL){printf("\n\nDOSYA ACİLAMADİ...\n\a");
    }
 
    else{
    printf("OGRENCİNİN ADİ:");
    scanf("%s",ogrenciyeni.ad);
    printf("OGRENCİNİN SOYADİ:");
    scanf("%s",ogrenciyeni.soyad);
    printf("OGRENCİNİN NUMARASİ:");
    scanf("%d",&ogrenciyeni.no);
    ogrenciyeni.kontrol=1;
    int hata=0;
 
                     fscanf(dosya,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);
                     while(!feof(dosya)){
                   
                                        if(ogrenci.kontrol==1&&ogrenci.no==ogrenciyeni.no) {
                                                         hata=1;                                              
                                                         }              
                      fscanf(dosya,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);              
                                        }
                      fclose(dosya);  
                      dosya=fopen("ogrenci.txt","a+");
 
                    //rewind(dosya); ---dosya basina gelindi...

                           if(hata==0){
               
                                        fscanf(dosya,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);
                                        while(!feof(dosya)){
                       
                                        i=0;      
                                        while(ogrenciyeni.ad[i]==ogrenci.ad[i]){
                                                  i++;
                                                  }
                                                                 
                                        if(ogrenciyeni.ad[i]>ogrenci.ad[i]){
                                        fprintf(gecici,"%10s%10s%10d%5d\n",ogrenci.ad,ogrenci.soyad,ogrenci.no,ogrenci.kontrol);                                
                                               }                
                                        else{
                                             for(i=0;ogrenci.ad[i];i++){
                                                                        gecici1[i]=ogrenci.ad[i];  
                                                                        }
                                                                       while(i<9){
                                                                                  gecici1[i]=' ';    
                                                                                 i++;
                                                                                 }  
             
                                                                                 gecici1[i]='\0';    
                                            for(i=0;ogrenciyeni.ad[i];i++){
                                                                           ogrenci.ad[i]=ogrenciyeni.ad[i];  
                                                                           }
                                                                 while(i<9){
                                                                            ogrenci.ad[i]=' ';    
                                                                            i++;
                                                                            }  
                                                                            ogrenci.ad[i]='\0';          
                               
                   
                                             for(i=0;gecici1[i];i++){
                                                                     ogrenciyeni.ad[i]=gecici1[i];
                                                                     }
                                                           while(i<9){
                                                                       ogrenciyeni.ad[i]=' ';    
                                                                       i++;    
                                                                       }
                                                                             ogrenciyeni.ad[i]='\0';                    
                     
             
             
                                              /*strcpy(gecici1,ogrenci.ad);
                                               strcpy(ogrenci.ad,ogrenciyeni.ad);
                                              strcpy(ogrenciyeni.ad,gecici1); */
                                            for(i=0;ogrenci.soyad[i];i++){
                                                                          gecici1[i]=ogrenci.soyad[i];  
                                                                         }
                                                              while(i<9){
                                                                         gecici1[i]=' ';    
                                                                         i++;
                                                                         }  
             
                                                                          gecici1[i]='\0';    
                                               for(i=0;ogrenciyeni.soyad[i];i++){
                                                                                ogrenci.soyad[i]=ogrenciyeni.soyad[i];  
                                                                                 }
                                                               while(i<9){
                                                                          ogrenci.soyad[i]=' ';    
                                                                          i++;
                                                                          }  
                                                                                  ogrenci.soyad[i]='\0';          
                               
                   
                                             for(i=0;gecici1[i];i++){
                                                                     ogrenciyeni.soyad[i]=gecici1[i];
                                                                     }
                                                                      while(i<9){
                                                                                  ogrenciyeni.soyad[i]=' ';    
                                                                                  i++;    
                                                                                  }
                                                                                   ogrenciyeni.soyad[i]='\0';    
            /*strcpy(gecici1,ogrenci.soyad);
           strcpy(ogrenci.soyad,ogrenciyeni.soyad);
            strcpy(ogrenciyeni.soyad,gecici1);*/
         
                                                                      temp=ogrenci.no;
                                                                      ogrenci.no=ogrenciyeni.no;
                                                                       ogrenciyeni.no=temp;
       
                                                                      temp=ogrenci.kontrol;
                                                                      ogrenci.kontrol=ogrenciyeni.kontrol;
                                                                      ogrenciyeni.kontrol=temp;
             
                                               fprintf(gecici,"%10s%10s%10d%5d\n",ogrenci.ad,ogrenci.soyad,ogrenci.no,ogrenci.kontrol);            
                                              }                    
                                               fscanf(dosya,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);                  
                                              }
       
       
                                            fprintf(gecici,"%10s%10s%10d%5d\n",ogrenciyeni.ad,ogrenciyeni.soyad,ogrenciyeni.no,ogrenciyeni.kontrol);
       
          printf("KAYIT BASARIYLA EKLENDİ....\n\n");
          fclose(dosya);
          fclose(gecici);
       
          remove("ogrenci.txt");
          rename("a.txt","ogrenci.txt");
       
          }//if sonu...  
   
     else{//ayni numaradan kayit yapilamadiği için.....
               
       printf("\n\nKAYIT YAPILAMADI...\a\a\n\n");
       fclose(dosya);  
       fclose(gecici);  
               remove("a.txt");
         
           }//else sonu..
     
   
       }
   
      }   //fonksiyon bitimi...
     
   
     void  kayitlistele(){
         int i,j;
         char temp[10];  
      struct kayit ogrenci;
      FILE *dosya;
      dosya=fopen("ogrenci.txt","r");
      if(dosya==NULL){
      printf("DOSYA ACILAMADI...\a\a\n");                                                                                                    
                     }
      else{
                fscanf(dosya,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);  
                 while(!feof(dosya)){
                                     if(ogrenci.kontrol==1){
                                      printf("%10s%10s%10d\n",ogrenci.ad,ogrenci.soyad,ogrenci.no);            
                                                            }            
                fscanf(dosya,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);                  
                                     }    
          }
    fclose(dosya);
     
   
                       }//fonksiyon sonu...    
   
   void kayitara(){
     int  i,j, bulunan=0,uzunluk=0;
     struct kayit ogrenci;
     char aranan[10];
     FILE*dosya;
     dosya=fopen("ogrenci.txt","r");
     if(dosya==NULL){printf("\n\nDOSYA ACILAMADI...\n\n\a");
                    }
     else{  
          printf("\n\nARANAN OGRENCİNİN ADİ:");
          scanf("%s",aranan);
       
                  for(i=0;aranan[i]!='\0';i++){
                               uzunluk++;     }
     
       
       fscanf(dosya,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);
      while(!feof(dosya)){
                       
                         if(ogrenci.kontrol==1){
                                                 j=0;
                                                 for(i=0;ogrenci.ad[i]!='\0';i++){
             
                             if(aranan[j]==ogrenci.ad[i]){
                                                           j++;
         
                                                         if(j==uzunluk){
                                                                        printf("%10s%10s%10d\n",ogrenci.ad,ogrenci.soyad,ogrenci.no);                
                                                                        bulunan++;      
                                                                        }
                                                           }  
       
                                                          else{j=0;
                                                               }                          
                                     
                                                                                      }  
                                                  }//if sonu...                          
                           
          fscanf(dosya,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);  
                            }            
         fclose(dosya);
       
         if(bulunan==0){
          printf("\n\nARANAN KRİTERE GÖRE KAYIT BULUNAMADI..\a\n\n");
                        }
         else{
         printf("\n\nTOPLAM %d KAYIT BULUNDU....\n\n",bulunan); }
              }//else sonu
     }//FONKSİYON SONU...


void guncelleme(){
   
     char gecici1[10];
     int gun_no,temp;
     struct kayit ogrenci,ogrenciyeni;
     FILE *dosya,*gecici;
     dosya=fopen("ogrenci.txt","r+");
   
   
     if(dosya==NULL){
                                   printf("\n\nDOSYA ACILAMADI...\a\n\n");
                                 
                                   }
     else{
          gecici=fopen("a.txt","a+");
          kayitlistele();
          printf("GUNCELLENECEK OGRENCİ NO:");
          scanf("%d",&gun_no);
       
          int var=0;
          fscanf(dosya,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);
      while(!feof(dosya)){
                          if(gun_no==ogrenci.no&&ogrenci.kontrol==1){
                         var=1;                                  
                          printf("OGRENCİ ADİ:");scanf("%s",ogrenciyeni.ad);                                      
                          printf("OGRENCİ SOYADİ:");scanf("%s",ogrenciyeni.soyad);
                          printf("OGRENCİ NO:");scanf("%d",&ogrenciyeni.no);
                          ogrenciyeni.kontrol=1;
                                                             
                                                              }      
          fscanf(dosya,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);            
                          }  
      if(var==0){
                 printf("KAYIT BULUNAMADI...\a\a\n\n");
                 fclose(dosya);
                 fclose(gecici);
                 remove("a.txt");
               
                 }  
      else{  
    fclose(dosya);
    dosya=fopen("ogrenci.txt","a+");
       
         // rewind(dosya);
       
       
           int hata=0;      
          fscanf(dosya,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);
          while(!feof(dosya)){
             if(gun_no==ogrenci.no&&ogrenci.kontrol==1){
                                                     }              
                         else if(ogrenci.no==ogrenciyeni.no&&ogrenci.kontrol==1) {
                                                                       hata=1;                                          
                                                                      }            
          fscanf(dosya,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);              
                              }
                           
                           
                           
         if(hata==1){
                   
                  fclose(dosya);
                 fclose(gecici);
                 
         remove("a.txt");  
         printf("\n\nKAYIT GUNCELLENEMEDİ...\a\a\n\n");
                 
                      kayitlistele();
                   }
                   
         else{
              fclose(dosya);
              dosya=fopen("ogrenci.txt","a+");
             //rewind(dosya);
     
            fscanf(dosya,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);
                                 while(!feof(dosya)){
                                                     int i=0;
                             
                                                      while(ogrenciyeni.ad[i]==ogrenci.ad[i]){
                                                                                              i++;
                                                                                              }              
                                                      if(ogrenciyeni.ad[i]>ogrenci.ad[i]){
                                                                                          if(gun_no==ogrenci.no&&ogrenci.kontrol==1) {                          
                                                                                                  ogrenci.kontrol=0;                          
                                                   fprintf(gecici,"%10s%10s%10d%5d\n",ogrenci.ad,ogrenci.soyad,ogrenci.no,ogrenci.kontrol);  
                                                           }
                                                                                          else{
                 
                                                  fprintf(gecici,"%10s%10s%10d%5d\n",ogrenci.ad,ogrenci.soyad,ogrenci.no,ogrenci.kontrol);  
                                                                                                }                          
                                                                                          }              
                else{
            if(ogrenci.no==gun_no&&ogrenci.kontrol==1){
                        ogrenci.kontrol=0;
    for(i=0;ogrenci.ad[i];i++){
                gecici1[i]=ogrenci.ad[i];  
                                      }
               while(i<9){
                    gecici1[i]=' ';    
                   i++;  }  
             
                gecici1[i]='\0';    
            for(i=0;ogrenciyeni.ad[i];i++){
                ogrenci.ad[i]=ogrenciyeni.ad[i];  
                                           }
               while(i<9){
               ogrenci.ad[i]=' ';    
                   i++;   }  
              ogrenci.ad[i]='\0';          
                               
                   
              for(i=0;gecici1[i];i++){
              ogrenciyeni.ad[i]=gecici1[i];
                                      }
              while(i<9){
                    ogrenciyeni.ad[i]=' ';    
                   i++;    
                        }
               ogrenciyeni.ad[i]='\0';                    
                     
             
             
            /*strcpy(gecici1,ogrenci.ad);
             strcpy(ogrenci.ad,ogrenciyeni.ad);
             strcpy(ogrenciyeni.ad,gecici1); */
           for(i=0;ogrenci.soyad[i];i++){
                gecici1[i]=ogrenci.soyad[i];  
                                      }
               while(i<9){
                    gecici1[i]=' ';    
                   i++;  }  
             
                gecici1[i]='\0';    
            for(i=0;ogrenciyeni.soyad[i];i++){
                ogrenci.soyad[i]=ogrenciyeni.soyad[i];  
                                           }
               while(i<9){
               ogrenci.soyad[i]=' ';    
                   i++;   }  
              ogrenci.soyad[i]='\0';          
                               
                   
              for(i=0;gecici1[i];i++){
              ogrenciyeni.soyad[i]=gecici1[i];
                                      }
              while(i<9){
                    ogrenciyeni.soyad[i]=' ';    
                   i++;    
                        }
               ogrenciyeni.soyad[i]='\0';    
            /*strcpy(gecici1,ogrenci.soyad);
           strcpy(ogrenci.soyad,ogrenciyeni.soyad);
            strcpy(ogrenciyeni.soyad,gecici1);*/
         
          temp=ogrenci.no;
          ogrenci.no=ogrenciyeni.no;
          ogrenciyeni.no=temp;
       
          temp=ogrenci.kontrol;
          ogrenci.kontrol=ogrenciyeni.kontrol;
          ogrenciyeni.kontrol=temp;                
                 
                 
            fprintf(gecici,"%10s%10s%10d%5d\n",ogrenci.ad,ogrenci.soyad,ogrenci.no,ogrenci.kontrol);      
                   
                     }
              else{
                   for(i=0;ogrenci.ad[i];i++){
                gecici1[i]=ogrenci.ad[i];  
                                      }
               while(i<9){
                    gecici1[i]=' ';    
                   i++;  }  
             
                gecici1[i]='\0';    
            for(i=0;ogrenciyeni.ad[i];i++){
                ogrenci.ad[i]=ogrenciyeni.ad[i];  
                                           }
               while(i<9){
               ogrenci.ad[i]=' ';    
                   i++;   }  
              ogrenci.ad[i]='\0';          
                               
                   
              for(i=0;gecici1[i];i++){
              ogrenciyeni.ad[i]=gecici1[i];
                                      }
              while(i<9){
                    ogrenciyeni.ad[i]=' ';    
                   i++;    
                        }
               ogrenciyeni.ad[i]='\0';                    
                     
             
             
            /*strcpy(gecici1,ogrenci.ad);
             strcpy(ogrenci.ad,ogrenciyeni.ad);
             strcpy(ogrenciyeni.ad,gecici1); */
           for(i=0;ogrenci.soyad[i];i++){
                gecici1[i]=ogrenci.soyad[i];  
                                      }
               while(i<9){
                    gecici1[i]=' ';    
                   i++;  }  
             
                gecici1[i]='\0';    
            for(i=0;ogrenciyeni.soyad[i];i++){
                ogrenci.soyad[i]=ogrenciyeni.soyad[i];  
                                           }
               while(i<9){
               ogrenci.soyad[i]=' ';    
                   i++;   }  
              ogrenci.soyad[i]='\0';          
                               
                   
              for(i=0;gecici1[i];i++){
              ogrenciyeni.soyad[i]=gecici1[i];
                                      }
              while(i<9){
                    ogrenciyeni.soyad[i]=' ';    
                   i++;    
                        }
               ogrenciyeni.soyad[i]='\0';    
            /*strcpy(gecici1,ogrenci.soyad);
           strcpy(ogrenci.soyad,ogrenciyeni.soyad);
            strcpy(ogrenciyeni.soyad,gecici1);*/
         
          temp=ogrenci.no;
          ogrenci.no=ogrenciyeni.no;
          ogrenciyeni.no=temp;
       
          temp=ogrenci.kontrol;
          ogrenci.kontrol=ogrenciyeni.kontrol;
          ogrenciyeni.kontrol=temp;      
           
                 
            fprintf(gecici,"%10s%10s%10d%5d\n",ogrenci.ad,ogrenci.soyad,ogrenci.no,ogrenci.kontrol);
                 
                 
                 
                   }    
                   
                   
                   
                           
                   
                     }              
            fscanf(dosya,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);              
                                }
            fprintf(gecici,"%10s%10s%10d%5d\n",ogrenciyeni.ad,ogrenciyeni.soyad,ogrenciyeni.no,ogrenciyeni.kontrol);
         
         
            fclose(dosya);
            fclose(gecici);
            remove("ogrenci.txt");
         
            rename("a.txt","ogrenci.txt");
         
         
            printf("\n\nKAYIT BASARIYLA GUNCELLENDI...\n\n");
    kayitlistele();
              }
              }//kayit bulunduysa....
          }//dosya acildiysa...
 
   
     }//fonksiyon bitimi..
     
   void kayitsil(){
   
     kayitlistele();
   
   
     struct kayit ogrenci;
     int sil_no,bulunan=0,var=0;
   
   
     FILE*dosya1,*dosya2;
   
     dosya1=fopen("ogrenci.txt","r");
           if(dosya1==NULL){printf("\n\nDOSYA ACILAMADI...\n\n\a");
                           }
           else{
                dosya2=fopen("yeni.txt","a");  
                printf("\n\nsilinecek ismin numarasini giriniz....");
                scanf("%d",&sil_no);
 
                 fscanf(dosya1,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);
                 while(!feof(dosya1)){
                                       if(sil_no==ogrenci.no &&  ogrenci.kontrol==1)  {
                                       var=1;        
                                       ogrenci.kontrol=0;
                                        fprintf(dosya2,"%10s%10s%10d%5d\n",ogrenci.ad,ogrenci.soyad,ogrenci.no,ogrenci.kontrol);                                        
                                                                           }
                                        else{
                                              fprintf(dosya2,"%10s%10s%10d%5d\n",ogrenci.ad,ogrenci.soyad,ogrenci.no,ogrenci.kontrol);
                                             }
   
                   fscanf(dosya1,"%s%s%d%d",ogrenci.ad,ogrenci.soyad,&ogrenci.no,&ogrenci.kontrol);
                                       }
 
                         
 
                      if(var==0){
                                printf("\n\nKAYIT BULUNAMADI...\a\a\n\n");      
                                 }
                      else{
                                printf("\n\nKAYIT BASARIYLA SİLİNDİ.....\n\n");
                          }

     fclose(dosya1);
     fclose(dosya2);
   
     //dosyalari kapatmayi unutma...
       remove("ogrenci.txt");
       rename("yeni.txt","ogrenci.txt");
     }
     kayitlistele();
     }

main(){
 
     
int secim;
 do{

     
 printf("\t\t\tOGRENCİ OTOMASYONU PROGRAMİ.....\n");    
 menu();

 printf("SECİMİNİZ:");
 scanf("%d",&secim);
 switch(secim){  
 case 1:
     kayitekle();
      break;
 case 2:
      kayitlistele();
      break;
  case 3:
       kayitara();
       break;
  case 4:
       guncelleme();
       break;  
   case 5:
        kayitsil();
        break;
   case 6:
       return 0;
        break;  
                               
             
   default:
           printf("\n1-6 ARASI SECİM YAPINIZ...\a\a\n\n");
           break;      }
        system("PAUSE");
        system("cls");
       
}while(secim!=6);                
     
getch();    


       }

No comments:

Post a Comment