• Şuradasınız
  • Anasayfa
  • Programlama
  • C sıralı dosya işlemleri ekleme, silme, arama (fonksiyonlu)

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

// 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;

}

Benzer Yazılar

Henüz yorum yapılmamış

Yorum Yazın

Su elementleri kullanabilirsiniz : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Arama
RSS
Beni yukari isinla