C sıralı dosya işlemleri ekleme, silme, arama (fonksiyonlu)

ilhan bahar tarafından 11 Ocak 2009 tarihinde yazılmıştır.
Yorum Yok


// sirali_dosya.cpp : Defines the entry point for the console application.

#include “stdafx.h”

//Kaynak:www.ilhanbahar.com

#include <conio.h>

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#include <windows.h>

#include <io.h>

 

void dosya_ara();

void dosya_yaz();

void bilgi_sil();

int sec;

void menu()

{

system (“cls”);

printf (“\n1-Dosya bilgi ekle”);

printf (“\n2-Dosyadan bilgi ara”);

printf (“\n3-Dosyadan bilgi sil”);

printf (“\n4-Cikis”);

printf (“\nSeciminiz=>”);

scanf (“%d”,&sec);

if (sec==1) dosya_yaz();

if (sec==2) dosya_ara();

if (sec==3) bilgi_sil();

}

void bilgi_sil()

{

int sil;

printf (“Silinecek no=”);

scanf (“%d”,&sil);

char ad[50],soyad[50];

int no,nosu;

int say=0;

FILE *eski_dosya;

FILE *yeni_dosya;

eski_dosya=fopen(“C:\\dosya.txt”,”r”);

yeni_dosya=fopen(“C:\\yeni_dosya.txt”,”w+”);

while (fscanf(eski_dosya,”%10s %10s %10d”,ad,soyad,&no)!= EOF)

{

if (sil==no)

printf (“\n %s %10s %10d – Silindi!”,ad,soyad,no);

else

fprintf (yeni_dosya,”\n %10s %10s %10d”,ad,soyad,no);

 

}

getch();

menu();

fcloseall();

remove (“C:\\dosya.txt”);

rename (“C:\\yeni_dosya.txt”,”C:\\dosya.txt”);

 

}

 

void dosya_ara()

{

char ad[50],soyad[50];

int no,nosu;

int say=0;

FILE *dosya;

dosya=fopen(“C:\\dosya.txt”,”r”);

printf (“No gir=”);

scanf (“%d”,&nosu);

 

while (fscanf(dosya,”%10s %10s %10d”,ad,soyad,&no)!= EOF)

{

if (nosu==no)

{

say++;

if (say>0)

printf (“\n%s %s %d”,ad,soyad,no);

}

}

if (say==0)

{

printf (“Kayit bulunamadi”);

}

fclose(dosya);

 

getch();

menu();

}

 

 

void dosya_yaz()

{

FILE *dosya;

dosya=fopen(“C:\\dosya.txt”,”a+”);

 

char ad[50],soyad[50];

char devam;

int no;

do 

{

printf (“\nad=”);

scanf (“%s”,&ad);

printf (“\soyad=”);

scanf (“%s”,&soyad);

printf (“\n no=”);

scanf (“%d”,&no);

fflush(stdin);

printf (“\nDevam etmek istiyor musunuz?”);

scanf (“%c”,&devam);

fprintf (dosya,”\n %10s %10s %10d”,ad,soyad,no);

}while (devam!=’h');

fclose(dosya);

menu();

 

}

 

int _tmain(int argc, _TCHAR* argv[])

{

menu();

 

 

return 0;

}

Şunlar da ilginizi çekebilir;

  • FriendFeed'de Paylaş
  • Facebook'ta Paylaş
  • Twitter'da Paylaş
  • 

    Bu yazı hakkında yorum yapın...





    
    Hemen hatırlatalım, bu sitede yer alan bütün dökümanlar 5846 sayılı Fikir ve Sanat Eserleri Kanununun koruması kapsamındadır. 2008-2010 ©
    Siteden çalıntı değil alıntı yapmak isteyenlerin siteye link vermesi kafidir. "Ben link vermem direk çorlarım" diyenlerde ifşa edilecektir. Siteyi kodlamadık çünkü kodlanmışı (WordPress) vardı. Arama motorları ile arayı iyi tutmak adına Sitemap ekledik, temasını kullandığımız anarşik çocuğu da link verip, bu kısmı sonlandırmış olduk, hayırlı olsun.