IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 19 Temmuz 2008, 15:14   #1
Çevrimiçi
Yardımcı Admin
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
*.txt Dosyasina kayit yapmak




PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
#include   <iostream.h>
#include   <conio.h>
#include   <fstream.h>
#include <iomanip.h>


int gun,ay,yil,biz,onlar,kontrol=0;
char saha;

void kayit()
{
int kayitSayisi,i;
cout<<"dosyaya kac kayit yapilacak ?"<<endl;
 
cin>>kayitSayisi;
ofstream futbol;
futbol.open("skor.txt",ios::out);
for(
i=0;i<kayitSayisii++)
{
cout<< " verileri giriniz ?"<<endl;
cin>>gun>>ay>>yil>>saha>>biz>>onlar;
futbol << gun<<setw(3)<<setw(3)<<ay<<setw(3)<<yil<<setw(3)<<saha<<setw(3)<<biz<<setw(3)
       <<
onlar<<setw(3)<<endl;
}
futbol.close();
getch();
}



void kayitIlave()
{
int ilaveKayit,i;
cout<<"dosyaya kac kayit ilave edilecek ?"<<endl;
 
cin>>ilaveKayit;
ofstream futbol;
futbol.open("skor.txt",ios::app);
for(
i=0;i<ilaveKayiti++)
{
cout<< " verileri giriniz ?"<<endl;
cin>>gun>>ay>>yil>>saha>>biz>>onlar;
futbol << gun<<ay<<yil<<saha<<biz<<onlar<<endl;
}
futbol.close();
getch();
}

void liste()
{
clrscr();
ifstream futbol;
futbol.open("skor.txt",ios::in);
while(
futbol>>gun>>ay>>yil>>saha>>biz>>onlar)
{
cout<< gun<<ay<<yil<<saha<<biz<<onlar<<endl;
cout<endl;
 }
futbol.close();
getch();
}

void silme()
{
int silinecekYil;
clrscr();
cout<<"silinecek yil giriniz "<<endl;
 
cin>>silinecekYil;
ifstream futbol;
futbol.open("skor.txt",ios::in);
ofstream gecici;
gecici.open("gecici.txt",ios::out);
while(
futbol>>gun>>ay>>yil>>saha>>biz>>onlar)
{
if(
silinecekYil!=yil)
{
 
gecici << gun<<ay<<yil<<saha<<biz<<onlar<<endl;
 }
 }


futbol.close();
gecici.close();

  
// copy temp to milan
  
ifstream f1("gecici.txt");
  
ofstream f2("skor.txt");
  
f2<<f1.rdbuf();




void sorgu()
{
int yilAra
cout<<"hangi yila ait kayitlari araniyor ?"<<endl;
 
cin>>yilAra;
ifstream futbol
futbol.open("skor.txt",ios::in);
while(
futbol>>gun>>ay>>yil>>saha>>biz>>onlar 

if(
yilAra==yil
cout<<   gun<<ay<<yil<<saha<<biz<<onlar<<endl;
}
futbol.close(); 
getch(); 



void menu() 

int secim
clrscr(); 
while(
kontrol==0

cout<<"[1] - Kayit " <<endl;
 
cout<<"[2] - Kayit Ilave " <<endl;
  
cout<<"[3] - Silme " <<endl;
   
cout<<"[4] - Liste " <<endl;
    
cout<<"[5] - sorgu " <<endl;
     
cout<<"[6] - Cikis " <<endl;
      
cout<<"Seciminiz:"<<endl;
       
cin>>secim
if(
secim==1kayit(); 
if(
secim==2kayitIlave(); 
if(
secim==3silme(); 
if(
secim==4liste(); 
if(
secim==5sorgu(); 
if(
secim==6kontrol=1
else 
menu(); 


void main() 

menu(); 


Not : Alıntıdır.

__________________
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Alt 15 Ağustos 2008, 02:15   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: *.txt Dosyasina kayit yapmak




Bu konu ile ilgili bir örnekte ben yazayım dedim
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
fstream sınıfını ögrenirken gördügüm millattan kalma bir örnek. İddali bir kod degil fakat mantık olarak çok iyi bir veritabanı uygulaması olabilir. (veri kayıt etmek, okumak vs. vs.)

Gerekli açıklamaları code içerisine yazdım. Aklınıza takılan soruları konuya post atarak söyleyebilirsiniz...

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
// personel.cpp #include <iostream> #include <fstream> // dosya giriş/çıkış için #include <typeinfo> // typeid() için #include <process.h> // exit() için using namespace std; const int LEN = 40; // isim uzunlugu const int MAXPER = 100; // MAX. Personel sayısı enum presonel_tipi {tyonetici, tprofesor, tlaborant}; // presonel sınıfı class presonel { private: char isim[LEN]; unsigned long numara; static int n; static presonel *arrayptr[]; public: virtual void getData() { cin.ignore(10,'\n'); cout << "Giris isim: "; cin >> isim; cout << "Numara gir: "; cin >> numara; } virtual void putData() { cout << "\n isim: " << isim; cout << "\n Numarasi: " << numara; } virtual presonel_tipi nesne_tipi(); static void add(); static void display(); static void read(); static void yaz(); }; // statik degişkenleri ayarla int presonel::n = 0; presonel* presonel::arrayptr[MAXPER]; class yonetici : public presonel { private: char baslik[LEN]; double aydat; public: void getData() { presonel::getData(); cout << "Baslik gir: "; cin >> baslik; cout << "Aydati gir: "; cin >> aydat; } void putData() { presonel::putData(); cout << "\nBaslik: " << baslik << "\nAydat: " << aydat; } }; class profesor : public presonel { private: int pubs; // Yayimladıgı eserlerin sayısını tutan degişken. public: void getData() { presonel::getData(); cout << "Yayimladigi eser sayisi: "; cin >> pubs; } void putData() { presonel::putData(); cout << "\nEser Sayisi: " << pubs; } }; class laborant : public presonel { }; void presonel::add() { char scm; cout << "'m' yonetici uyesi ekle" << "\n's' profesor uyesi ekle" << "\n'l' laborant uyesi ekle" << "\nLutfen bir secim yapin: "; cin >> scm; switch(scm) { case 'm': arrayptr[n] = new yonetici; break; case 's': arrayptr[n] = new profesor; break; case 'l': arrayptr[n] = new laborant; break; default: cout << "\nHatali bir tip\n"; return; } arrayptr[n++]->getData(); } void presonel::display() { for (int j=0; j<n; j++) { cout << (j+1); switch(arrayptr[j]->nesne_tipi()) { case tyonetici: cout << ". Tip: yonetici"; break; case tprofesor: cout << ". Tip: profesor"; break; case tlaborant: cout << ". Tip: laborant"; break; default: cout << ". Hatalı tip"; } arrayptr[j]->putData(); cout << endl; } } // nesnelerin sınıflarını kon trol eden fonsiyon bunu typeid() fonsiyonu ile yapıyoruz. presonel_tipi presonel::nesne_tipi() { if (typeid(*this) == typeid(yonetici)) { return tyonetici; } else if (typeid(*this) == typeid(profesor)) { return tprofesor; } else if (typeid(*this) == typeid(laborant)) { return tlaborant; } else { cerr << "\nHatalı tip"; exit(1); } return tyonetici; } /* Burada yaz() fonksiyonu ile bellekteki veriler * DISK'e yazılıyor. Yazılma mantıgı önce veri tipi * Arkasında veri. Yani önce hangi sınıfın nesnesi ise * o sınıfın nesnesi belirtiliyor, daha sonra nesne yazılıyor. * çünki dosyayı okurken nesnenin hangi sınıfa ait oldugunu * buradan anlayacagız. */ void presonel::yaz() { int size; cout << "Yazili yor " << n << " tane personel kaydi.\n"; ofstream wfile; // ofstream nesnesi tanımla presonel_tipi stipi; // bir personel_tipi isminde enum tanımla wfile.open("PERSONEL.DAT", ios::trunc | ios::binary); // dosyayi ac eger var ise sıfırlarak aç. if (!wfile) { // Dosya açılırken hata oluşursa programdan çık cout << "\nDosya acilamadi"; return; } for (int j=0; j<n; j++) { stipi = arrayptr[j]->nesne_tipi(); // Yazılacak verinin tipine bak wfile.write((char*)&stipi, sizeof(stipi)); // Yazılacak verinini tipimi yaz switch(stipi) { case tyonetici: size=sizeof(yonetici); break; case tprofesor: size=sizeof(profesor); break; case tlaborant: size=sizeof(laborant); break; } wfile.write((char*)(arrayptr[j]), size); // Veriyi yaz if (!wfile) { cout << "\nDosya yazilamadi\n"; return; } } wfile.close(); // Dosyayı kapat. } void presonel::read() { int size; presonel_tipi stipi; ifstream rfile; // ifstream nesnesi tanımla rfile.open("PERSONEL.DAT", ios::binary); // dosyayi ac if (!rfile) // eger dosya acilmadi ise { cout << "\nDosya açılmadı"; return; } n = 0; while (true) { rfile.read((char*)&stipi, sizeof(stipi)); // once veri tipini oku if (rfile.eof()) // dosyanin sonuna gelmişsek döngüden çık break; if(!rfile) // Eger veri tipi alınırken bir hata var ise döngüden çık { cout << "\nHatalı bir tip okundu\n"; return; } switch(stipi) // Veri tipine göre nesne yarat { case tyonetici: arrayptr[n] = new yonetici; size = sizeof(yonetici); break; case tprofesor: arrayptr[n] = new profesor; size = sizeof(profesor); break; case tlaborant: arrayptr[n] = new laborant; size = sizeof(laborant); break; default: cout << "\nHatalı bir tip\n"; return; } rfile.read((char*)arrayptr[n], size); // Dosyadan nesneyi oku... if (!rfile) { cout << "\nDosya okuma hatasi\n"; return; } n++; } rfile.close(); // Dosyayı kapat. cout << "Dosyadan " << n << " tane veri basari ile okunmustur\n"; } /* main fonksiyonu ile kullanıcıya cesitli secenekler sunuluyor. * Ve bu sceneklerin sonucuna gore program isleme giriyor. * yeni giris dosya kayit ve dosya okumak gibi islemler. */ int main() { char scm; while(true) { cout << "'a' *** Personel kaydi yap" << "\n'd' *** Verileri listele" << "\n'w' *** Tum veriyi kaydet" << "\n'r' *** Kayitli veriyi dosyadan oku" << "\n'x' *** Cikis yap!" << "\nLutfen secim yapin: "; cin >> scm; // Girilen secim switch ile kontrol ediliyor switch(scm) { case 'a': presonel::add(); break; case 'd': presonel::display(); break; case 'w': presonel::yaz(); break; case 'r': presonel::read(); break; case 'x': exit(0); default : cout << "\nHatali komut\n"; // Girilen secim tanimlanmayan bir secim ise... } } return 0; } // eof();



Konu SpecifiC tarafından (15 Ağustos 2008 Saat 13:56 ) değiştirilmiştir.
 
Alıntı ile Cevapla

Alt 23 Ağustos 2008, 19:58   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: *.txt Dosyasina kayit yapmak




Hms Güzel olmus Cemalizim emeğine sağlık ßende ögrenmis oldum bu arada..

__________________
Our brain is Our Weapon
 
Alıntı ile Cevapla

Cevapla

Etiketler
dosyasina, kayit, txt, yapmak


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
unrelaircd.conf dosyasina ozel auto join eklemek Svs1988 Unreal IRCd 3 22 Eylül 2011 18:01
Kanala Girenleri Otomatik Txt Dosyasina Kaydetsin. IRCConnect mIRC Scripting Sorunları 9 14 Temmuz 2010 20:15