C++ İle Dosyaya Kayıt Ekleme,Dosyadaki Verileri Listeleme ve Dosyadan Arabul Örneğimiz


10.05.2012-15:57 Tarihinde Eklendi.
www.seyfettinkahveci.com Derecelendirme: 10 / 10 Oy Sayısı: 16002893Toplam Puan: 35430 / Yorum Sayısı: 412002893 adet.


main.cpp:

#include <iostream>
#include "dosyalama.h"//dosyalama classı sayfaya dahil ediliyor
int main()
{
    dosyalama yeni;//dosyalama classının kullanma adı yeni diye tanımladık
    yeni.menu();//yeni classının menusunu ekrana getir
    return 0;//programı bitir
}

dosyalama.h:

#ifndef DOSYALAMA_H
#define DOSYALAMA_H
#include <iostream>
#include <fstream>//dosya okuma yazma işlemleri için bu kütüphaneyi çağırdık
#include <Windows.h>//system( cls ) için kütüphaneyi çağırdık
using namespace std;//isim uzayı tanımlanıyor
class dosyalama//dosyalama adında bir class yapısı oluşturuluyor
{
    public:
        dosyalama();//dosyalama constructor ı
        virtual ~dosyalama();//dosyalama destructor
        void menu();//menu fonksiyonu tanımlanıyor
        void KayitEkle();//kayıt ekle fonksiyonu tanımlanıyor
        void Listele();//listele fonksiyonu tanımlanıyor
        void AraBul();//arabul fonksiyonu tanımlanıyor

};

#endif // DOSYALAMA_H

dosyalama.cpp:

#include "dosyalama.h"//sayfaya dosyalama headerı ekleniyor

dosyalama::dosyalama()
{
    //constructor
}

dosyalama::~dosyalama()
{
    //destructor
}
void dosyalama::menu(){//menu fonksiyonu yazılıyor
int tus;//integer tipinde tuş değişkeni tanımlanıyor
cout<<" Kayit Ekle-1"<<endl;//ekrana kullanıcının hangi tuşa basması gerektiği yazılıyor
cout<<" Listele-2"<<endl;//ekrana kullanıcının hangi tuşa basması gerektiği yazılıyor
cout<<" Ara Bul 3"<<endl;//ekrana kullanıcının hangi tuşa basması gerektiği yazılıyor
cin>>tus;//kullanıcının girdiği veri değişkene aktarılıyor
switch(tus){//tus değişkeniğnin verilerine bakılıyor
case 1: KayitEkle();break;//eğer kullanıcı 1e bastı ise kayıtekleyi çalıştır
case 2: Listele();break;//eğer kullanıcı 2ye bastı ise listeleyi çalıştır
case 3: AraBul();break;//eğer kullanıcı 3e bastı ise arabulu çalıştır
}//switch sonu
}//menu fonksiyonu sonu
void dosyalama::KayitEkle(){//kayıt ekle fonksiyonu
ofstream dosya;//dosya değişkenine yazma özelliği veriliyor
dosya.open("Veri.txt");//dosya değişkeninin hangi dosyaya yazacağı belirtiliyor
cout<<"bosluk icermeyen veriyi giriniz"<<endl;//kullanıcıdan veri isteniyor
string veri;//veri değişkeni tanımlanıyor
cin>>veri;//kullanıcıdan veri alınıyor
dosya<<veri<<endl;//dosyaya veri yazılıyor
dosya.close();//dosya kapatılıyor
menu();//menu çağırılıyor
}//kayıt ekle fonksiyonu sonu
void dosyalama::Listele(){//listele fonksiyonu
ifstream dosya;//dosya değişkenine dosya okuma özelliği veriliyor
dosya.open("Veri.txt");//dosya değişkeninin hangi dosyayı okuyacağı belirleniyor
char veri;//char tipinde veri adında bir değişken tanımlanıyor
while(!dosya.eof()){//dosya sonu olmadığı müddetce dön
dosya.get(veri);//dosya okunuyor
cout<<veri;//okunan veri ekrana yazdırılıyor
}//döngü sonu
dosya.close();//dosya kapatılıyor
menu();//menu çağırılıyor

}//listele fonksiyonu sonu
void dosyalama::AraBul(){//arabul fonksiyonu yazılıyor
    cout<<"aranan veriyi giriniz"<<endl;//kullanııcıdan veri girmesi isteniyor
    char aranan;//char tipinde aranan adlı değişken tanımlanıyor
    cin>>aranan;//kullanıcının girdiği veriyi aranan değişkenine ata
ifstream dosya;//dosya değişkenine dosya okuma özelliği veriliyor
dosya.open("Veri.txt");//dosya değişkeninin hangi dosyayı okuyacağı belirleniyor
char veri;//char tipinde veri adında bir değişken tanımlanıyor
while(!dosya.eof()){//dosya sonu olmadığı müddetce dön
dosya.get(veri);//dosya okunuyor
if(veri==aranan){//eğer okunan değer kullanıcının aradığı veri ise
    system("cls");//ekran temizleniyor
cout<<"aradiginiz '"<<veri<<"' bulundu"<<endl;//ekrana veri yazdırılıyor
}//eğer okunan değer kullanıcının aradığı veri ise sonu
}//döngü sonu
dosya.close();//dosya kapatılıyor
menu();//menu çağırılıyor

}//arabul fonksiyonu sonu

Kod Hakkında Anlamadığınız Bir Bölüm Olursa Yorum Ekleye Yazın En Kısa Sürede Cevaplamaya Çalışırım.

Seyfettin KAHVECİ
Balıkesir Üniversitesi
NEF-BOTE



Yazının tamamının kopyalanması yasaktır. En baştaki birkaç paragrafı kopyalayıp, yazıya link verebilirsiniz. Aksi durumda uyarılmaksızın yasal yollara gidilecektir.

Yorum Ekle

Ad Soyad:
Şehir:
Yorum:
Yorumlar
Ad Soyad:Furkan ÇelikŞehir:İstanbul
Tarih:06.08.2013
Soru Hata veriyor bunları kullandığımda ne yapmam lazım http://imgur.com/WUE9yCs,kOFNKey
Cevap Codeblocks'un yeni sürümünü kurdum ve tekrar denedim kodları sorunsuz olarak çalıştı. Lütfen sizde code::blocks kurup deneyin mutlaka çalışacaktır. Problem büyük ihtimal kullandığınız programın derleyicisinden kaynaklanmaktadır. Tekrar bir sorun ile karşılaşırsanız lütfen yazın en kısa sürede cevaplamaya çalışırım. İyi çalışmalar.