C++ İle Dosyaya Kayıt Ekleme,Dosyadaki Verileri Listeleme ve Dosyadan Arabul Örneğimiz
10.05.2012-15:57 Tarihinde Eklendi.
www.seyfettinkahveci.com
Oy Sayısı: 16006026Toplam Puan: 66760 / Yorum Sayısı: 412006026 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
| Uzun süredir yorumlara cevap veremediğim için sistem yeni yorumlara kapatılmıştır. Anlayışınız için teşekkürler. |
| ||||||||||||||||||||


Hata veriyor bunları kullandığımda ne yapmam lazım
http://imgur.com/WUE9yCs,kOFNKey
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.