Skip to content

Instantly share code, notes, and snippets.

@emirozturk
Created Mar 1, 2018
Embed
What would you like to do?
NYP 2. Hafta
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
class Kisi{
private:
string _ad;
int _yas;
public:
Kisi(string ad,int yas){
_ad = ad;
_yas = yas;
}
string adAl(){
return _ad;
}
int yasAl(){
return _yas;
}
};
class dosyaIslemleri{
private:
ifstream okunanDosya;
ofstream yazilanDosya;
public:
void dosyayaYaz(Kisi k){
yazilanDosya.open("kayit.txt",ios::app);
yazilanDosya << k.adAl() << "-" << k.yasAl() << endl;
yazilanDosya.close();
}
vector<Kisi> dosyadanOku(){
vector<Kisi> kisiListesi;
string kayitSatiri;
okunanDosya.open("kayit.txt");
while(getline(okunanDosya,kayitSatiri)){
size_t indis =kayitSatiri.find("-");
string ad = kayitSatiri.substr(0,indis);
int yas = stoi(kayitSatiri.substr(indis+1, kayitSatiri.size()));
Kisi k(ad,yas);
kisiListesi.push_back(k);
}
okunanDosya.close();
return kisiListesi;
}
};
void ekle()
{
string ad;
int yas;
cout << "Ad:";
cin >> ad;
cout <<"Yas:";
cin >> yas;
Kisi k(ad,yas);
dosyaIslemleri di;
di.dosyayaYaz(k);
}
void listele()
{
dosyaIslemleri di;
kisiListesi = di.dosyadanOku();
for(int i=0;i<kisiListesi.size();i++)
cout << kisiListesi[i].adAl() << "-" <<kisiListesi[i].yasAl() << endl;
}
int main(){
int secim = 0;
do{
cout << "1. Ekle" << endl;
cout << "2. Listele" << endl;
cout << "3. Cikis" << endl;
cin >> secim;
if(secim ==1)ekle();
if(secim ==2)listele();
}while(secim!=3);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment