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ı: 16003127Toplam Puan: 37770 / Yorum Sayısı: 412003127 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.

Uzun süredir yorumlara cevap veremediğim için sistem yeni yorumlara kapatılmıştır. Anlayışınız için teşekkürler.
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.