Çözüldü Kütüphanede iade kodu nasıl yapılır?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

ruslanmik09

Decapat
Katılım
9 Temmuz 2021
Mesajlar
79
Daha fazla  
Cinsiyet
Erkek
Merhaba, C++'ta kütüphane kodu yazdim ama iade islemi kodunu yapamiyorum. Yardim eder misiniz?

C++:
#include <iostream>
 #include <fstream>
 #include <string>
 #include <iomanip>

 using namespace std;

 void kitapEkle() {

 string kitapAdi;
 string yazarAdi;
 string yayinTarihi;

 fstream dosya;

 dosya.open("kitaplik.txt", ios::app);

 if (dosya.is_open() == true)
 {
 cout << endl << "-----------------------------------------------------" << endl;
 cout << "Kitap Adi....: "; cin >> kitapAdi;
 cout << "Yazar Adi....: "; cin >> yazarAdi;
 cout << "Yayin Tarihi.: "; cin >> yayinTarihi;
 cout << endl << "--------------------Kitap Eklendi--------------------" << endl;
 dosya << kitapAdi << " " << yazarAdi << " " << yayinTarihi << endl;

 }else {
 cout << "Dosya Acilamadi! ";
 }

 dosya.close();

 }

 void kitapAra() {
 string kitapAdi;

 cout << "Aranacak kitap adini girin : "; cin >> kitapAdi;

 fstream dosyaOku("kitaplik.txt", ios::in);

 string gecici;
 string satir;
 bool kosul = true;
 if (dosyaOku.is_open() == true)
 {
 int sayac = 0;
 while (dosyaOku >> gecici)
 {
 if (gecici == kitapAdi)
 {
 cout << "--------------------------------------------------------------------------------------------------" << endl;
 cout << "Kitap Adi : " << setw(25) << left << kitapAdi;
 dosyaOku >> gecici;
 cout << "Yazar Adi : " << setw(25) << left << gecici;
 dosyaOku >> gecici;
 cout << "Yayin Tarihi : " << setw(25) << left << gecici;
 cout << endl;
 cout << "--------------------------------------------------------------------------------------------------" << endl;
 kosul = false;
 }
 dosyaOku >> gecici;
 }

 if (sayac == 0)
 {
 cout << endl << "Aranan kitap bulunamadi!" << endl <<endl;
 }
 }
 else {
 cout << "Dosya Acilamadi!";
 }

 dosyaOku.close();
 }

 void kitaplariListele() {
 fstream dosyaListele;

 dosyaListele.open("kitaplik.txt", ios::in);

 if (dosyaListele.is_open() == true) {

 string ad;
 cout << endl << "--------------------------------------------------------------------------------------------------" << endl;
 while (dosyaListele >> ad)
 {
 cout << "Kitap Adi : " << setw(25) << left << ad;
 dosyaListele >> ad;
 cout << "Yazar Adi : " << setw(25) << left << ad;
 dosyaListele >> ad;
 cout << "Yayin Tarihi : " << setw(25) << left << ad;
 cout << endl;
 }
 cout << "--------------------------------------------------------------------------------------------------" << endl;
 }else {
 cout << "Dosya Acilamadi! ";
 }

 dosyaListele.close();
 }

 int main()
 {
 int secim;

 while (1)
 {
 cout <<
 "1-Kitap Ekle \n" <<
 "2-Kitap Ara \n" <<
 "3-Kitaplari Listele \n" <<
 "Ltfen seciminizi girin : ";
 cin >> secim;

 if (secim == 1)
 {
 kitapEkle();
 }
 else if (secim == 2)
 {
 kitapAra();
 }
 else if (secim == 3)
 {
 kitaplariListele();
 }
 }

 system("pause");
 }
 
Son düzenleyen: Moderatör:
Çözüm
C++:
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>

using namespace std;

void kitapEkle() {
    string kitapAdi;
    string yazarAdi;
    string yayinTarihi;

    fstream dosya;

    dosya.open("kitaplik.txt", ios::app);

    if (dosya.is_open() == true) {
        cout << endl << "-----------------------------------------------------" << endl;
        cout << "Kitap Adi....: "; cin >> kitapAdi;
        cout << "Yazar Adi....: "; cin >> yazarAdi;
        cout << "Yayin Tarihi.: "; cin >> yayinTarihi;
        cout << endl << "--------------------Kitap Eklendi--------------------" << endl;
        dosya << kitapAdi << " " << yazarAdi << " " << yayinTarihi << endl;
    } else {
        cout << "Dosya Acilamadi! ";
    }

    dosya.close();
}

void kitapAra() {
    string kitapAdi;

    cout << "Aranacak kitap adini girin : "; cin >> kitapAdi;

    fstream dosyaOku("kitaplik.txt", ios::in);

    string gecici;
    string satir;
    bool kosul = true;
    if (dosyaOku.is_open() == true) {
        int sayac = 0;
        while (dosyaOku >> gecici) {
            if (gecici == kitapAdi) {
                cout << "--------------------------------------------------------------------------------------------------" << endl;
                cout << "Kitap Adi : " << setw(25) << left << kitapAdi;
                dosyaOku >> gecici;
                cout << "Yazar Adi : " << setw(25) << left << gecici;
                dosyaOku >> gecici;
                cout << "Yayin Tarihi : " << setw(25) << left << gecici;
                cout << endl;
                cout << "--------------------------------------------------------------------------------------------------" << endl;
                kosul = false;
            }
            dosyaOku >> gecici;
        }

        if (sayac == 0) {
            cout << endl << "Aranan kitap bulunamadi!" << endl <<endl;
        }
    } else {
        cout << "Dosya Acilamadi!";
    }

    dosyaOku.close();
}

void kitaplariListele() {
    fstream dosyaListele;

    dosyaListele.open("kitaplik.txt", ios::in);

    if (dosyaListele.is_open() == true) {
        string ad;
        cout << endl << "--------------------------------------------------------------------------------------------------" << endl;
        while (dosyaListele >> ad) {
            cout << "Kitap Adi : " << setw(25) << left << ad;
            dosyaListele >> ad;
            cout << "Yazar Adi : " << setw(25) << left << ad;
            dosyaListele >> ad;
            cout << "Yayin Tarihi : " << setw(25) << left << ad;
            cout << endl;
        }
        cout << "--------------------------------------------------------------------------------------------------" << endl;
    } else {
        cout << "Dosya Acilamadi! ";
    }

    dosyaListele.close();
}

void kitapIadeEt() {
    string kitapAdi;

    cout << "Iade edilecek kitap adini girin : "; cin >> kitapAdi;

    fstream dosyaOku("kitaplik.txt", ios::in);
    ofstream tempFile("temp.txt", ios::out); // Geçici bir dosya oluştur

    string ad, yazar, tarih;
    bool iadeEdildi = false;

    if (dosyaOku.is_open()) {
        while (dosyaOku >> ad >> yazar >> tarih) {
            if (ad == kitapAdi) {
                iadeEdildi = true;
                cout << "Kitap iade edildi: " << ad << endl;
            } else {
                tempFile << ad << " " << yazar << " " << tarih << endl;
            }
        }
        dosyaOku.close();
        tempFile.close();

        remove("kitaplik.txt");          // Eski dosyayı sil
        rename("temp.txt", "kitaplik.txt"); // Geçici dosyayı eski dosya adıyla yeniden adlandır
    } else {
        cout << "Dosya Acilamadi!";
    }

    if (!iadeEdildi) {
        cout << "Iade edilecek kitap bulunamadi!" << endl;
    }
}

int main() {
    int secim;

    while (1) {
        cout <<
            "1-Kitap Ekle \n" <<
            "2-Kitap Ara \n" <<
            "3-Kitaplari Listele \n" <<
            "4-Kitap Iade Et \n" <<
            "Lutfen seciminizi girin : ";
        cin >> secim;

        if (secim == 1) {
            kitapEkle();
        } else if (secim == 2) {
            kitapAra();
        } else if (secim == 3) {
            kitaplariListele();
        } else if (secim == 4) {
            kitapIadeEt();
        }
    }

    system("pause");
}
C++:
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>

using namespace std;

void kitapEkle() {
    string kitapAdi;
    string yazarAdi;
    string yayinTarihi;

    fstream dosya;

    dosya.open("kitaplik.txt", ios::app);

    if (dosya.is_open() == true) {
        cout << endl << "-----------------------------------------------------" << endl;
        cout << "Kitap Adi....: "; cin >> kitapAdi;
        cout << "Yazar Adi....: "; cin >> yazarAdi;
        cout << "Yayin Tarihi.: "; cin >> yayinTarihi;
        cout << endl << "--------------------Kitap Eklendi--------------------" << endl;
        dosya << kitapAdi << " " << yazarAdi << " " << yayinTarihi << endl;
    } else {
        cout << "Dosya Acilamadi! ";
    }

    dosya.close();
}

void kitapAra() {
    string kitapAdi;

    cout << "Aranacak kitap adini girin : "; cin >> kitapAdi;

    fstream dosyaOku("kitaplik.txt", ios::in);

    string gecici;
    string satir;
    bool kosul = true;
    if (dosyaOku.is_open() == true) {
        int sayac = 0;
        while (dosyaOku >> gecici) {
            if (gecici == kitapAdi) {
                cout << "--------------------------------------------------------------------------------------------------" << endl;
                cout << "Kitap Adi : " << setw(25) << left << kitapAdi;
                dosyaOku >> gecici;
                cout << "Yazar Adi : " << setw(25) << left << gecici;
                dosyaOku >> gecici;
                cout << "Yayin Tarihi : " << setw(25) << left << gecici;
                cout << endl;
                cout << "--------------------------------------------------------------------------------------------------" << endl;
                kosul = false;
            }
            dosyaOku >> gecici;
        }

        if (sayac == 0) {
            cout << endl << "Aranan kitap bulunamadi!" << endl <<endl;
        }
    } else {
        cout << "Dosya Acilamadi!";
    }

    dosyaOku.close();
}

void kitaplariListele() {
    fstream dosyaListele;

    dosyaListele.open("kitaplik.txt", ios::in);

    if (dosyaListele.is_open() == true) {
        string ad;
        cout << endl << "--------------------------------------------------------------------------------------------------" << endl;
        while (dosyaListele >> ad) {
            cout << "Kitap Adi : " << setw(25) << left << ad;
            dosyaListele >> ad;
            cout << "Yazar Adi : " << setw(25) << left << ad;
            dosyaListele >> ad;
            cout << "Yayin Tarihi : " << setw(25) << left << ad;
            cout << endl;
        }
        cout << "--------------------------------------------------------------------------------------------------" << endl;
    } else {
        cout << "Dosya Acilamadi! ";
    }

    dosyaListele.close();
}

void kitapIadeEt() {
    string kitapAdi;

    cout << "Iade edilecek kitap adini girin : "; cin >> kitapAdi;

    fstream dosyaOku("kitaplik.txt", ios::in);
    ofstream tempFile("temp.txt", ios::out); // Geçici bir dosya oluştur

    string ad, yazar, tarih;
    bool iadeEdildi = false;

    if (dosyaOku.is_open()) {
        while (dosyaOku >> ad >> yazar >> tarih) {
            if (ad == kitapAdi) {
                iadeEdildi = true;
                cout << "Kitap iade edildi: " << ad << endl;
            } else {
                tempFile << ad << " " << yazar << " " << tarih << endl;
            }
        }
        dosyaOku.close();
        tempFile.close();

        remove("kitaplik.txt");          // Eski dosyayı sil
        rename("temp.txt", "kitaplik.txt"); // Geçici dosyayı eski dosya adıyla yeniden adlandır
    } else {
        cout << "Dosya Acilamadi!";
    }

    if (!iadeEdildi) {
        cout << "Iade edilecek kitap bulunamadi!" << endl;
    }
}

int main() {
    int secim;

    while (1) {
        cout <<
            "1-Kitap Ekle \n" <<
            "2-Kitap Ara \n" <<
            "3-Kitaplari Listele \n" <<
            "4-Kitap Iade Et \n" <<
            "Lutfen seciminizi girin : ";
        cin >> secim;

        if (secim == 1) {
            kitapEkle();
        } else if (secim == 2) {
            kitapAra();
        } else if (secim == 3) {
            kitaplariListele();
        } else if (secim == 4) {
            kitapIadeEt();
        }
    }

    system("pause");
}
 
Çözüm
C++:
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>

using namespace std;

void kitapEkle() {
 string kitapAdi;
 string yazarAdi;
 string yayinTarihi;

 fstream dosya;

 dosya.open("kitaplik.txt", ios::app);

 if (dosya.is_open() == true) {
 cout << endl << "-----------------------------------------------------" << endl;
 cout << "Kitap Adi....: "; cin >> kitapAdi;
 cout << "Yazar Adi....: "; cin >> yazarAdi;
 cout << "Yayin Tarihi.: "; cin >> yayinTarihi;
 cout << endl << "--------------------Kitap Eklendi--------------------" << endl;
 dosya << kitapAdi << " " << yazarAdi << " " << yayinTarihi << endl;
 } else {
 cout << "Dosya Acilamadi! ";
 }

 dosya.close();
}

void kitapAra() {
 string kitapAdi;

 cout << "Aranacak kitap adini girin : "; cin >> kitapAdi;

 fstream dosyaOku("kitaplik.txt", ios::in);

 string gecici;
 string satir;
 bool kosul = true;
 if (dosyaOku.is_open() == true) {
 int sayac = 0;
 while (dosyaOku >> gecici) {
 if (gecici == kitapAdi) {
 cout << "--------------------------------------------------------------------------------------------------" << endl;
 cout << "Kitap Adi : " << setw(25) << left << kitapAdi;
 dosyaOku >> gecici;
 cout << "Yazar Adi : " << setw(25) << left << gecici;
 dosyaOku >> gecici;
 cout << "Yayin Tarihi : " << setw(25) << left << gecici;
 cout << endl;
 cout << "--------------------------------------------------------------------------------------------------" << endl;
 kosul = false;
 }
 dosyaOku >> gecici;
 }

 if (sayac == 0) {
 cout << endl << "Aranan kitap bulunamadi!" << endl <<endl;
 }
 } else {
 cout << "Dosya Acilamadi!";
 }

 dosyaOku.close();
}

void kitaplariListele() {
 fstream dosyaListele;

 dosyaListele.open("kitaplik.txt", ios::in);

 if (dosyaListele.is_open() == true) {
 string ad;
 cout << endl << "--------------------------------------------------------------------------------------------------" << endl;
 while (dosyaListele >> ad) {
 cout << "Kitap Adi : " << setw(25) << left << ad;
 dosyaListele >> ad;
 cout << "Yazar Adi : " << setw(25) << left << ad;
 dosyaListele >> ad;
 cout << "Yayin Tarihi : " << setw(25) << left << ad;
 cout << endl;
 }
 cout << "--------------------------------------------------------------------------------------------------" << endl;
 } else {
 cout << "Dosya Acilamadi! ";
 }

 dosyaListele.close();
}

void kitapIadeEt() {
 string kitapAdi;

 cout << "Iade edilecek kitap adini girin : "; cin >> kitapAdi;

 fstream dosyaOku("kitaplik.txt", ios::in);
 ofstream tempFile("temp.txt", ios::out); // Geçici bir dosya oluştur.

 string ad, yazar, tarih;
 bool iadeEdildi = false;

 if (dosyaOku.is_open()) {
 while (dosyaOku >> ad >> yazar >> tarih) {
 if (ad == kitapAdi) {
 iadeEdildi = true;
 cout << "Kitap iade edildi: " << ad << endl;
 } else {
 tempFile << ad << " " << yazar << " " << tarih << endl;
 }
 }
 dosyaOku.close();
 tempFile.close();

 remove("kitaplik.txt"); // Eski dosyayı sil.
 rename("temp.txt", "kitaplik.txt"); // Geçici dosyayı eski dosya adıyla yeniden adlandır.
 } else {
 cout << "Dosya Acilamadi!";
 }

 if (!iadeEdildi) {
 cout << "Iade edilecek kitap bulunamadi!" << endl;
 }
}

int main() {
 int secim;

 while (1) {
 cout <<
 "1-Kitap Ekle \n" <<
 "2-Kitap Ara \n" <<
 "3-Kitaplari Listele \n" <<
 "4-Kitap Iade Et \n" <<
 "Lutfen seciminizi girin : ";
 cin >> secim;

 if (secim == 1) {
 kitapEkle();
 } else if (secim == 2) {
 kitapAra();
 } else if (secim == 3) {
 kitaplariListele();
 } else if (secim == 4) {
 kitapIadeEt();
 }
 }

 system("pause");
}

Teşekkür ederim. Oldu.
 

Geri
Yukarı