folder Tahribat.com Forumları
linefolder C - C++
linefolder C De Dosyalama Ödevi



C De Dosyalama Ödevi

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kont239
    kont239's avatar
    Kayıt Tarihi: 04/Ocak/2010
    Erkek

    #include<stdio.h>
    #include<iostream>
    #include<stdlib.h>
    #include<string.h>
    #include<locale>

    struct ogrenci
    {
        char * isim;
        char * soyisim;
        int no;
    };

     void menu()
      {
          int secim;

        printf("1.ogrenci kaydi\n");
        printf("2.ogrenci arama\n");
        printf("3.cikis\n");
        printf("lütfen seciminizi giriniz\n");
        scanf("%d",&secim);
     
      }
      typedef ogrenci fatih;

    void oku()
     { 
       
       
         fatih okunan;  
      
         FILE*fp=fopen("kayit.txt","a");
         okunan.isim=(char*)malloc(sizeof(char)*100);
         printf("ismini giriniz\n");
         scanf("%s",&okunan.isim);
     
         okunan.isim=(char*)malloc(sizeof(char)*100);
         printf("soyismi giriniz\n");
         scanf("%s",&okunan.soyisim);
     
         okunan.isim=(char*)malloc(sizeof(char)*100);
         printf("no giriniz\n");
         scanf("%s",&okunan.no);
      
         fprintf(fp,"%s %s %d\n",okunan.isim,okunan.soyisim,okunan.no);
         fclose(fp);
     
     }

     void ara()
     {
     
         printf("aranan ogrencinin ismini giriniz");
         char aranan[30];
         scanf("%s",aranan);
         FILE*fp=fopen("kayit.txt","r");
        
         fatih okunan;
         okunan.isim=(char*)malloc(sizeof(char)*100);
         while(!feof(fp))
         {
          fscanf(fp,"%s %s %d",okunan.isim,okunan.soyisim,okunan.no);
         
           if(strcmp(okunan.isim,aranan)==0)
          {
          printf("%s %s %d\n",okunan.isim,okunan.soyisim,okunan.no);

          }
      }
      fclose(fp);

      }

     
     

    int main()
    {
     /* typedef ogrenci xyz;*/

        setlocale(LC_ALL,"TURKISH");

      int secim;
      do{
         menu();

         switch(secim)
         {
         
         case 1: { oku(); break;  }
         case 2: { ara(); break;  }
         case 3: { goto son;  }
         
         }
     
        }while(secim==3);

     

    arkadaşlar bu kod la uğraşıorumm bn  bi yanlış göremedim ama seçim yaptktan sonra patlıo açıkcası bi de siz baksanız

     

     


    4641544948---53415249544153
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kont239
    kont239's avatar
    Kayıt Tarihi: 04/Ocak/2010
    Erkek

    kont239 bunu yazdı:
    -----------------------------

    #include
    #include
    #include
    #include
    #include

    struct ogrenci
    {
        char * isim;
        char * soyisim;
        int no;
    };

     void menu()
      {
          int secim;

        printf("1.ogrenci kaydi\n");
        printf("2.ogrenci arama\n");
        printf("3.cikis\n");
        printf("lütfen seciminizi giriniz\n");
        scanf("%d",&secim);
     
      }
      typedef ogrenci fatih;

    void oku()
     { 
       
       
         fatih okunan;  
      
         FILE*fp=fopen("kayit.txt","a");
         okunan.isim=(char*)malloc(sizeof(char)*100);
         printf("ismini giriniz\n");
         scanf("%s",&okunan.isim);
     
         okunan.isim=(char*)malloc(sizeof(char)*100);
         printf("soyismi giriniz\n");
         scanf("%s",&okunan.soyisim);
     
         okunan.isim=(char*)malloc(sizeof(char)*100);
         printf("no giriniz\n");
         scanf("%s",&okunan.no);
      
         fprintf(fp,"%s %s %d\n",okunan.isim,okunan.soyisim,okunan.no);
         fclose(fp);
     
     }

     void ara()
     {
     
         printf("aranan ogrencinin ismini giriniz");
         char aranan[30];
         scanf("%s",aranan);
         FILE*fp=fopen("kayit.txt","r");
        
         fatih okunan;
         okunan.isim=(char*)malloc(sizeof(char)*100);
         while(!feof(fp))
         {
          fscanf(fp,"%s %s %d",okunan.isim,okunan.soyisim,okunan.no);
         
           if(strcmp(okunan.isim,aranan)==0)
          {
          printf("%s %s %d\n",okunan.isim,okunan.soyisim,okunan.no);

          }
      }
      fclose(fp);

      }

     
     

    int main()
    {
     /* typedef ogrenci xyz;*/

        setlocale(LC_ALL,"TURKISH");

      int secim;
      do{
         menu();

         switch(secim)
         {
         
         case 1: { oku(); break;  }
         case 2: { ara(); break;  }
         case 3: { goto son;  }
         
         }
     
        }while(secim==3);

     

    arkadaşlar bu kod la uğraşıorumm bn  bi yanlış göremedim ama seçim yaptktan sonra patlıo açıkcası bi de siz baksanız

     

     


    -----------------------------

    hoca bilen yok mu yha bi bakın !


    4641544948---53415249544153
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    seretide
    seretide's avatar
    Kayıt Tarihi: 14/Haziran/2010
    Erkek

    secim i okumayı menu() fonksiyonunda yapmışsın onu sonradan mainde kullanamassın .En iyisi secim i main içinde oku .Bide goto niye kullanıyosun ki onun yerine return 0; yazsan direk biter zaten program


    Saçma
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kont239
    kont239's avatar
    Kayıt Tarihi: 04/Ocak/2010
    Erkek

    seretide bunu yazdı:
    -----------------------------

    secim i okumayı menu() fonksiyonunda yapmışsın onu sonradan mainde kullanamassın .En iyisi secim i main içinde oku .Bide goto niye kullanıyosun ki onun yerine return 0; yazsan direk biter zaten program


    -----------------------------

    hoca fonk. da secim var main de de var görmemşsin sanırım


    4641544948---53415249544153
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    seretide
    seretide's avatar
    Kayıt Tarihi: 14/Haziran/2010
    Erkek

    kont239 bunu yazdı:
    -----------------------------

    seretide bunu yazdı:
    -----------------------------

    secim i okumayı menu() fonksiyonunda yapmışsın onu sonradan mainde kullanamassın .En iyisi secim i main içinde oku .Bide goto niye kullanıyosun ki onun yerine return 0; yazsan direk biter zaten program


    -----------------------------

    hoca fonk. da secim var main de de var görmemşsin sanırım


    -----------------------------

    gördüm ama 2 secimde farklı değişkenler.Sen main de  ne idüğü belirsiz bi değişkene erişmeye çalışıyosun programda hata veriyo.


    Saçma
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    XCoder
    XCoder's avatar
    Kayıt Tarihi: 15/Haziran/2007
    Erkek

    hocam main()deki secim değişkeni ile menu()'daki secim değişkenleri aynı şeyler değiller, ikisi de lokal değişken, ya global kullan ya da menü seçimini main()de okuyup onu menu()'ye ver ve orada kontrol ettir.

    şöyle olabilir

     int menu()
      {
          int secim;

        printf("1.ogrenci kaydi\n");
        printf("2.ogrenci arama\n");
        printf("3.cikis\n");
        printf("lütfen seciminizi giriniz\n");
        scanf("%d",&secim);
     

        return secim;
      }

     

    int main() 
    {
        setlocale(LC_ALL,"TURKISH");

      int secim;

    secim = menu();


      do{

         switch(secim)
         {
         
         case 1: { oku(); break;  }
         case 2: { ara(); break;  }
         case 3: { goto son;  }
         
         }
     
        }while(secim==3);


    The ability to destroy a planet is insignificant next to the power of the force.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    guru
    guru's avatar
    Kayıt Tarihi: 30/Mart/2007
    Erkek

    xcoder konuya el atmis zaten fakat bi mantik hatasi algiladim onu belirtmek istiyorum.

    do-while  dongunde ki sorgun, secim 3'e esitse seklinde. yani programin tekrar menuyu gostermesi icin secim'in 3'e esit olmasi gerekiyor fakat sen,
    secim eger 3'e esitse, yani case 3:  durumunda programi 'son' diye tabir ettigin fakat etiketi kodda goremedigim bi noktaya ziplatiyosun. Ismine dayanarak cikardigim sonuc, 'son' noktasinin programi sonlardirmak icin asagi noktalarda bi yerde oldugu.

    eger secim 3'e esitse cikilicaksa, bence while'in icinde sormamiz gereken sey, secimin 3'e esit olmadigidir.[ while(secim != 3) ]

     

    ve eger programi sonlandirmadan once 'son' noktasina ziplamanin belli bir amaci yoksa ( ornegin; dinamik kullandigin bellekleri geri vermek, kayit yapmak, verileri kontrol etmek vsvs.)  ziplamadan cikis yapman daha uygun olur. (seretide'nin de dedigi gibi, return 0  olaabilir.)

     


    ..
Toplam Hit: 1545 Toplam Mesaj: 7