• 06-06-2021, 15:16:26
    #1
    Merhaba Projem var fakat yetiştiremedim basit bir hata ama anlamadım nerede olduğunu bakabilir misiniz lütfen
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    
        
    struct Bilgiler{
        int dosyaNo;
        char dosyaAdi[50];
        char dosyaTuru[20];
        int dosyaSayisi;
        int dosyaBoyut;
        int belgeNo;
        char belgeAdi[70];
        char belgeTuru[20];
        int belgeSayisi;
        int belgeBoyut;
    };
    
    
    void belgeEkle();
    void belgeListele2();
    void TumListele();
    void Duzenle();
    void sil();
    void ara();
    void YenidenAdlandir();
    void DosyaSil();
    char mygetch();
    
    
    char fname[]={"D:\\main.dat"};
    
    
    int main()
    {
    int ch;
    
    while(1)
    {
    system("cls"); //clrscr();
    
    printf("==================Employee Management System=============\n\n");
    
    printf("1. Ekle\n\n");
    printf("2. Listele\n\n");
    printf("3. ara\n\n");
    printf("4. sil\n\n");
    printf("5. Raporla\n\n");
    printf("6. Duzenle\n\n");
    printf("7. Sil\n\n");
    printf("8. Dosya Sil\n\n");
    printf("0. Çıkış\n\n");
    
    printf("========================================================\n\n");
    
    printf("\nSeçim Yapınız:");
    scanf("%d",&ch);
    
    switch(ch)
    {
    case 1: belgeEkle();
    break;
    
    case 2: belgeListele();
    break;
    
    case 3: ara();
    break;
    
    case 4: sil();
    break;
    
    case 5: Raporla();
    break;
    
    
    case 7: Duzenle();
    break;
    
    case 8: DosyaSil();
    break;
    case 0: exit(0);
    }
    
    mygetch();
    }
    
    
    }
    
    
    
    
    void belgeEkle()
    {
    FILE *fp;
    struct Bilgiler t1;
    
    fp=fopen(fname,"ab");
    
    printf("\nBelge No Giriniz:");
    scanf("%d",&t1.belgeNo);
    printf("\nBelge Adını Giriniz:");
    scanf("%s",t1.belgeAdi);
    printf("\nBelge Türünü Giriniz:");
    scanf("%d",&t1.belgeTuru);
    fwrite(&t1,sizeof(t1),1,fp);
    
    fclose(fp);
    }
    
    void YenidenAdlandir()
    {
    char DosyaAdiYeni[20];
    
    printf("\nYeni Dosya Adını Giriniz:");
    fflush(stdin);
    scanf("%[^\n]",DosyaAdiYeni);
    
    rename(fname,DosyaAdiYeni);
    
    strcpy(fname,DosyaAdiYeni);
    }
    
    void sil()
    {
    FILE *fp,*fp1;
    struct Bilgiler t;
    
    char dosyaAdi[20];
    char val[20];
    
    printf("\nKopyasını Almak İstiyor Musunuz (E/H):");
    scanf("%s",val);
    
    if(strcmp(val,"E")==0)
    {
    
    printf("\nKopyası Olacak Dosya Adı:");
    fflush(stdin);
    scanf("%[^\n]",dosyaAdi);
    
    fp=fopen(dosyaAdi,"wb");
    fp1=fopen(fname,"rb");
    
    while(1)
    {
    fread(&t,sizeof(t),1,fp1);
    
    if(feof(fp1))
    {
    break;
    }
    fwrite(&t,sizeof(t),1,fp);
    }
    
    fclose(fp);
    fclose(fp1);
    
    remove(fname);
    
    strcpy(fname,dosyaAdi);
    }
    else
    {
    remove(fname);
    }
    }
    
    void Duzenle()
    {
    FILE *fp,*fp1;
    struct Bilgiler t,t1;
    int belgeNo,found=0,count=0;
    
    fp=fopen(fname,"rb");
    fp1=fopen("temp.dat","wb");
    
    printf("\nBelge Numarası Giriniz:");
    scanf("%d",&belgeNo);
    
    while(1)
    {
    fread(&t,sizeof(t),1,fp);
    
    if(feof(fp))
    {
    break;
    }
    if(t.belgeNo==belgeNo)
    {
    found=1;
    printf("\nBelge İd Giriniz:");
    scanf("%d",&t.belgeNo);
    
    fflush(stdin);
    printf("\nDosya Adı Giriniz:");
    scanf("%s",t.dosyaAdi);
    printf("\nDosya Türü Giriniz:");
    scanf("%d",&t.dosyaTuru);
    fwrite(&t,sizeof(t),1,fp1);
    }
    else
    {
    fwrite(&t,sizeof(t),1,fp1);
    }
    }
    fclose(fp);
    fclose(fp1);
    
    if(found==0)
    {
    printf("Böyle Bir Kayıt Yok\n\n");
    }
    else
    {
    fp=fopen(fname,"wb");
    fp1=fopen("temp.dat","rb");
    
    while(1)
    {
    fread(&t,sizeof(t),1,fp1);
    
    if(feof(fp1))
    {
    break;
    }
    fwrite(&t,sizeof(t),1,fp);
    }
    
    }
    fclose(fp);
    fclose(fp1);
    }
    
    void DosyaSil()
    {
    FILE *fp,*fp1;
    struct Bilgiler t,t1;
    int belgeNo,found=0,count=0;
    
    fp=fopen(fname,"rb");
    fp1=fopen("temp.dat","wb");
    
    printf("\nSilmek İstediğiniz İd:");
    scanf("%d",&belgeNo);
    
    while(1)
    {
    fread(&t,sizeof(t),1,fp);
    
    if(feof(fp))
    {
    break;
    }
    if(t.belgeNo==belgeNo)
    {
    found=1;
    }
    else
    {
    fwrite(&t,sizeof(t),1,fp1);
    }
    }
    fclose(fp);
    fclose(fp1);
    
    if(found==0)
    {
    printf("Bulunamadı\n\n");
    }
    else
    {
    fp=fopen(fname,"wb");
    fp1=fopen("temp.dat","rb");
    
    while(1)
    {
    fread(&t,sizeof(t),1,fp1);
    
    if(feof(fp1))
    {
    break;
    }
    fwrite(&t,sizeof(t),1,fp);
    }
    }
    fclose(fp);
    fclose(fp1);
    }
    
    void goruntule()
    {
    FILE *fp;
    struct Bilgiler t;
    int belgeNo,found=0;
    
    fp=fopen(fname,"rb");
    
    printf("\nBelge No Giriniz:");
    scanf("%d",&belgeNo);
    
    while(1)
    {
    fread(&t,sizeof(t),1,fp);
    
    if(feof(fp))
    {
    break;
    }
    if(t.belgeNo==belgeNo)
    {
    found=1;
    printf("\n========================================================\n\n");
    printf("\t\t Detaylar %d\n\n",t.belgeNo);
    printf("========================================================\n\n");
    
    printf("Dosya\n\n");
    
    printf("%s\t",t.belgeAdi);
    printf("%d\t\n\n",t.belgeTuru);
    
    printf("========================================================\n\n");
    }
    }
    if(found==0)
    {
    printf("\nKayıt Yok");
    }
    fclose(fp);
    }
    
    void ara()
    {
    FILE *fp;
    struct Bilgiler t;
    int found=0;
    char belgeAdi[20];
    
    fp=fopen(fname,"rb");
    
    printf("\nBelge Adını Giriniz:");
    scanf("%s",&belgeAdi);
    
    while(1)
    {
    fread(&t,sizeof(t),1,fp);
    
    if(feof(fp))
    {
    break;
    }
    if(strcmp(belgeAdi,t.belgeAdi)==0)
    {
    printf("\n========================================================\n\n");
    printf("\t\t Detay %d\n\n",t.belgeNo);
    printf("========================================================\n\n");
    
    printf("BelgeAdi\belgeTuru\n\n");
    
    printf("%s\t",t.belgeAdi);
    printf("%d\t\n\n",t.belgeTuru);
    
    printf("========================================================\n\n");
    
    }
    }
    if(found==0)
    {
    printf("\nHata");
    }
    fclose(fp);
    }
    void TumListele()
    {
    FILE *fp;
    struct Bilgiler t;
    
    fp=fopen(fname,"rb");
    
    printf("\n========================================================\n\n");
    printf("\t\t Tüm Detaylar\n\n");
    printf("========================================================\n\n");
    
    printf("DosyaNo\n\n");
    
    while(1)
    {
    fread(&t,sizeof(t),1,fp);
    
    if(feof(fp))
    {
    break;
    }
    printf("%d\t",t.belgeNo);
    printf("%s\t",t.belgeAdi);
    printf("%d\t\n\n",t.belgeTuru);
    
    }
    printf("========================================================\n\n");
    
    fclose(fp);
    
    fclose(fp);
    }
    
    char mygetch()
    {
    char val;
    char rel;
    
    scanf("%c",&val);
    scanf("%c",&rel);
    return (val);
    }
  • 06-06-2021, 15:18:23
    #2
    Tam olarak hata nedir yazabilirseniz yardımcı olmaya çalışalım
  • 06-06-2021, 15:24:41
    #3
    Team viewer üzerinden bağlanıp bakabilir miyim çözebilirim belki hatayı
  • 06-06-2021, 19:37:32
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    case 2: belgeListele();
    break;

    case 3: ara();
    break;

    case 4: sil();
    break;

    case 5: Raporla();
    break;



    Buradaki belgeListele ve Raporla fonksiyonları tanımlı değil.