Şimdi Ara

C'de takıldığım bir problem

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
3
Cevap
0
Favori
254
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Halletttim teşekkürler.



    < Bu mesaj bu kişi tarafından değiştirildi jaisauss434 -- 25 Aralık 2018; 19:30:43 >



  • Şu kodda kayıt sil ve kayıt güncelle kısmına bir bak istersen belki yardımcı olur. c'de dosyalama işlemlerinin nasıl yapıldığını bilmiyorum yoksa daha rahat yardımcı olabilirdim.

     
    #include <iostream>
    #include <fstream>
    using namespace std;

    struct Personel {
    char isim[10];
    int yas;
    int maas;
    int numara;
    };

    struct PersonelOff {
    int numara;
    int tarih;
    int gunSayisi;
    };

    Personel personelBilgileri;
    PersonelOff personelizin;

    void personelEkle() {
    cout << "Personel Bilgilerini Giriniz." <<endl;
    cout << "Isim......: "; cin >> personelBilgileri.isim;
    cout << "Numara....: "; cin >> personelBilgileri.numara;
    cout << "Yas.......: "; cin >> personelBilgileri.yas;
    cout << "Maas......: "; cin >> personelBilgileri.maas;

    ofstream dosyaYaz;
    dosyaYaz.open("personel.txt", ios::app);
    dosyaYaz << personelBilgileri.isim << "\t" << personelBilgileri.numara << "\t" << personelBilgileri.yas << "\t" << personelBilgileri.maas <<endl;
    dosyaYaz.close();

    cout << "Kaydiniz basariyla yapilmistir. ";
    }
    void kayitGoruntule() {
    ifstream dosyaIn;
    dosyaIn.open("personel.txt", ios::in);

    while (dosyaIn >> personelBilgileri.isim >> personelBilgileri.numara >> personelBilgileri.yas >> personelBilgileri.maas)
    {
    cout << "-------Personel Bilgileri------" << endl;
    cout << "Ad.....: " << personelBilgileri.isim << endl <<
    "Numara.: " << personelBilgileri.numara << endl <<
    "Yas....: " << personelBilgileri.yas << endl <<
    "Maas...: " << personelBilgileri.maas << endl;
    cout << "-------------------------------" <<endl;
    }
    }
    void kayitSil() {
    int numara;
    cout << "Kaydini silmek istediginiz personelin numarasini giriniz : ";
    cin >> numara;
    ifstream dosyaIn("personel.txt", ios::in);
    ofstream dosyaOut("personel.tmp", ios::app);

    while (dosyaIn >> personelBilgileri.isim >> personelBilgileri.numara >> personelBilgileri.yas >> personelBilgileri.maas)
    {
    if (numara != personelBilgileri.numara) {
    dosyaOut << personelBilgileri.isim << "\t" << personelBilgileri.numara << "\t" << personelBilgileri.yas << "\t" << personelBilgileri.maas << endl;
    }
    }
    dosyaIn.close();
    dosyaOut.close();
    remove("personel.txt");
    rename("personel.tmp", "personel.txt");
    }
    void kayitGuncelle() {
    int numara;
    cout << "Kaydini guncellemek istediginiz personelin numarasini giriniz : ";
    cin >> numara;
    ifstream dosyaIn("personel.txt", ios::in);
    ofstream dosyaOut("personel.tmp", ios::app);

    while (dosyaIn >> personelBilgileri.isim >> personelBilgileri.numara >> personelBilgileri.yas >> personelBilgileri.maas)
    {
    if (numara == personelBilgileri.numara) {
    cout << "Yeni bilgileri girin. " <<endl;
    cout << "Isim......: "; cin >> personelBilgileri.isim;
    cout << "Numara....: "; cin >> personelBilgileri.numara;
    cout << "Yas.......: "; cin >> personelBilgileri.yas;
    cout << "Maas......: "; cin >> personelBilgileri.maas;
    dosyaOut << personelBilgileri.isim << "\t" << personelBilgileri.numara << "\t" << personelBilgileri.yas << "\t" << personelBilgileri.maas << endl;

    }
    else
    {
    dosyaOut << personelBilgileri.isim << "\t" << personelBilgileri.numara << "\t" << personelBilgileri.yas << "\t" << personelBilgileri.maas << endl;
    }
    }
    dosyaIn.close();
    dosyaOut.close();
    remove("personel.txt");
    rename("personel.tmp", "personel.txt");
    }
    void kayitSorgula() {
    int personelNO;
    cout << "Sorgulanacak personelin numarasini girin : ";
    cin >> personelNO;

    ifstream dosyaOku("personel.txt", ios::in);
    ifstream izinOku("personelizin.txt", ios::in);

    while (dosyaOku >> personelBilgileri.isim >> personelBilgileri.numara >> personelBilgileri.yas >> personelBilgileri.maas)
    {
    if (personelBilgileri.numara == personelNO) {
    cout << "Personel Bulundu." << endl
    << "Isim....: " << personelBilgileri.isim << endl
    << "Numara..: " << personelBilgileri.numara << endl
    << "Yas.....: " << personelBilgileri.yas << endl
    << "Maas....: " << personelBilgileri.maas << endl;
    }
    }

    while (izinOku >> personelizin.numara >> personelizin.tarih >> personelizin.gunSayisi) {
    if (personelizin.numara == personelNO) {
    cout << "Personelin Kullandigi Izinler : " << endl;
    cout << "Tarih......: " << personelizin.tarih <<endl;
    cout << "Gun Sayisi.: " << personelizin.gunSayisi << endl;
    }
    }

    }
    void personelizinGir() {

    cout << "Personel numarasi : ";
    cin >> personelizin.numara;
    cout << "Personel izine cikis tarihi (Sadece rakamla 01011999): ";
    cin >> personelizin.tarih;
    cout << "Personel izin suresi : ";
    cin >> personelizin.gunSayisi;

    ofstream dosyaYaz;
    dosyaYaz.open("personelizin.txt", ios::app);

    dosyaYaz << personelizin.numara << '\t' << personelizin.tarih << '\t' << personelizin.gunSayisi;

    dosyaYaz.close();

    cout << "izin kaydiniz basariyla yapilmistir. ";
    }

    int main() {

    char cevap;
    do
    {
    int islemNo;
    cout << "Yapilacak islemi seciniz : " << endl <<
    "1-Personel ekle" << endl <<
    "2-Personelleri goruntule" <<endl;
    cout << "3-Personel sil" << endl
    << "4-Personel bilgileri guncelle" << endl
    << "5-Personel sorgula " << endl
    << "6-Personel izin gir" << endl;
    cout << endl << "Cevap : ";
    cin >> islemNo;

    if (islemNo == 1)
    {
    personelEkle();
    }
    else if (islemNo == 2)
    {
    kayitGoruntule();
    }
    else if (islemNo == 3)
    {
    kayitSil();
    }
    else if (islemNo == 4)
    {
    kayitGuncelle();
    }
    else if (islemNo == 5)
    {
    kayitSorgula();
    }
    else if (islemNo == 6)
    {
    personelizinGir();
    }

    cout << "Baska islem yapmak istiyor musunuz? ";
    cout << "Cevap (e/h): ";
    cin >> cevap;

    } while (cevap == 'e');



    system("pause");

    }




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.