• 09-01-2013, 18:04:13
    #1
    program çalışırken kayıt yapıp arama yapıyor ama programı kapatıp açınca arama yapmıyor.

    kodlar aşağıda kodlar yanlış mı?


    Alıntı
    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    int main()
    {
    setlocale(LC_ALL,"Turkish");
    FILE*ds,*ds2;
    char isimi[40],a;
    int tus,bul,ara,barkod;
    float fiyat;
    tekrar:
    printf("[1] Ürün eklemek\n[2] Ürün Aramak\n");
    printf("Seçiminiz = ");
    scanf("%d",&tus);
    system("CLS");
    switch(tus)
    {
    case (1):
    printf("Ürün numarası = \n");
    scanf("%d",&barkod);
    printf("Ürün ismi = \n");
    scanf("%s",isimi);
    printf("Ürün fiyatı = \n");
    scanf("%f",&fiyat);
    ds=fopen("dosya.dat","a");
    fprintf(ds,"%d %s %3.2f\n",barkod,isimi,fiyat);
    fclose(ds);
    printf("Ürün kaydı yapıldı.\a\n");
    soru:
    printf("Ana menüye dönülsün mü? E/H\n");
    a=getch();
    system("CLS");
    if(a=='e'||a=='E')
    goto tekrar;
    else if(a=='h'||a=='H')
    goto cikis;
    else
    goto soru;
    break;
    case(2):
    {
    printf("urun no\n");
    scanf("%d",&ara);
    ds=fopen("dosya.dat","r");
    if(ds==NULL)
    printf("Kayit dosyasi olusturunuz\n");
    else
    {
    // while (!feof(ds))
    // {
    if(barkod==ara)
    {
    //fscanf(ds,"%d%s%.2f\n",&barkod,isimi,&fiyat);
    printf("Urun no =%d\nUrun isimi =%s\nUrun fiyati=%.2f\n",barkod,isimi,fiyat);
    break;
    }
    else
    printf("Urun bulunamadi.\n");
    // }
    }
    fclose(ds);
    goto tekrar;
    }
    break;
    }
    cikis:
    fclose(ds);
    return 0;
    }
  • 10-01-2013, 01:42:52
    #2
    c++ ı hiç sevmesem de bulaştım yine bu dile
    kodda hatalar vardı sanırım sen yapmışsın bazı şeyleri kapatmışsın onları düzelttim. %f i %.2f yapmışsın fscanf içinde onu düzelttim..





    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    int main()
    {
    setlocale(LC_ALL,"Turkish");
    FILE*ds,*ds2;
    char isimi[40],a;
    int tus,bul,ara,barkod;
    float fiyat;
    tekrar:
    printf("[1] Ürün eklemek\n[2] Ürün Aramak\n");
    printf("Seçiminiz = ");
    scanf("%d",&tus);
    system("CLS");
    switch(tus)
    {
    case (1):
    printf("Ürün numarası = \n");
    scanf("%d",&barkod);
    printf("Ürün ismi = \n");
    scanf("%s",isimi);
    printf("Ürün fiyatı = \n");
    scanf("%f",&fiyat);
    ds=fopen("dosya.dat","a");
    fprintf(ds,"%d %s %3.2f\n",barkod,isimi,fiyat);
    fclose(ds);
    printf("Ürün kaydı yapıldı.\a\n");
    soru:
    printf("Ana menüye dönülsün mü? E/H\n");
     //a=getch();
     scanf("%s",&a);
    
    system("CLS");
    if(a=='e'||a=='E')
    goto tekrar;
    else if(a=='h'||a=='H')
    goto cikis;
    else
    goto soru;
    break;
    case(2):
    {
    printf("urun no\n");
    scanf("%d",&ara);
    ds=fopen("dosya.dat","r");
    if(ds==NULL)
    printf("Kayit dosyasi olusturunuz\n");
    else
    {
     bool bulunamadi=true;   
     while (!feof(ds))
     {
     
              fscanf(ds,"%d%s%f\n",&barkod,isimi,&fiyat);       
    
            if(barkod==ara)
            {
                           
            bulunamadi =false;
            printf("Urun no =%d\nUrun isimi =%s\nUrun fiyati=%.2f\n",barkod,isimi,fiyat);
            break;
            }
      }
    
    if(bulunamadi)
    printf("Urun bulunamadi.\n");  
    }
    
    
    
    fclose(ds);
    goto tekrar;
    }
    break;
    }
    cikis:
    fclose(ds);
    return 0;
    }
  • 11-01-2013, 02:08:01
    #3
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    c++ ı hiç sevmesem de bulaştım yine bu dile
    kodda hatalar vardı sanırım sen yapmışsın bazı şeyleri kapatmışsın onları düzelttim. %f i %.2f yapmışsın fscanf içinde onu düzelttim..





    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    int main()
    {
    setlocale(LC_ALL,"Turkish");
    FILE*ds,*ds2;
    char isimi[40],a;
    int tus,bul,ara,barkod;
    float fiyat;
    tekrar:
    printf("[1] Ürün eklemek\n[2] Ürün Aramak\n");
    printf("Seçiminiz = ");
    scanf("%d",&tus);
    system("CLS");
    switch(tus)
    {
    case (1):
    printf("Ürün numarası = \n");
    scanf("%d",&barkod);
    printf("Ürün ismi = \n");
    scanf("%s",isimi);
    printf("Ürün fiyatı = \n");
    scanf("%f",&fiyat);
    ds=fopen("dosya.dat","a");
    fprintf(ds,"%d %s %3.2f\n",barkod,isimi,fiyat);
    fclose(ds);
    printf("Ürün kaydı yapıldı.\a\n");
    soru:
    printf("Ana menüye dönülsün mü? E/H\n");
     //a=getch();
     scanf("%s",&a);
    
    system("CLS");
    if(a=='e'||a=='E')
    goto tekrar;
    else if(a=='h'||a=='H')
    goto cikis;
    else
    goto soru;
    break;
    case(2):
    {
    printf("urun no\n");
    scanf("%d",&ara);
    ds=fopen("dosya.dat","r");
    if(ds==NULL)
    printf("Kayit dosyasi olusturunuz\n");
    else
    {
     bool bulunamadi=true;   
     while (!feof(ds))
     {
     
              fscanf(ds,"%d%s%f\n",&barkod,isimi,&fiyat);       
    
            if(barkod==ara)
            {
                           
            bulunamadi =false;
            printf("Urun no =%d\nUrun isimi =%s\nUrun fiyati=%.2f\n",barkod,isimi,fiyat);
            break;
            }
      }
    
    if(bulunamadi)
    printf("Urun bulunamadi.\n");  
    }
    
    
    
    fclose(ds);
    goto tekrar;
    }
    break;
    }
    cikis:
    fclose(ds);
    return 0;
    }

    eyv çok sağol hocam tşkr ediyorum..