Skip to content

Instantly share code, notes, and snippets.

@emirozturk
Created March 15, 2018 07:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save emirozturk/3f3c7242320ca81c47a25ebffd59bbb8 to your computer and use it in GitHub Desktop.
Save emirozturk/3f3c7242320ca81c47a25ebffd59bbb8 to your computer and use it in GitHub Desktop.
NYP 4. Hafta
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class kisi {
private:
string ad;
public:
kisi(string ad) {
this->ad = ad;
}
kisi() {}
string adAl() {
return ad;
}
};
class kisiListesi {
private:
vector<kisi> liste;
public:
void ekle(kisi k) {
liste.push_back(k);
}
kisi kisiBul(string isim) {
for (int i = 0; i < liste.size(); i++)
if (liste[i].adAl() == isim)
return liste[i];
return kisi();
}
};
class kayit {
private:
kisi gonderen;
kisi alici;
string mesaj;
public:
kayit(kisi gonderen, kisi alici, string mesaj) {
this->gonderen = gonderen;
this->alici = alici;
this->mesaj = mesaj;
}
kisi gonderenAl() {
return gonderen;
}
kisi aliciAl() {
return alici;
}
string mesajAl() {
return mesaj;
}
};
class kayitListesi {
private:
vector<kayit> liste;
public:
void ekle(kayit k)
{
liste.push_back(k);
}
vector<kayit> kayitBul(string kisiAdi)
{
vector<kayit> sonuclar;
for (int i = 0; i < liste.size(); i++)
if (liste[i].aliciAl().adAl() == kisiAdi)
sonuclar.push_back(liste[i]);
return sonuclar;
}
};
kisiListesi kisiler;
kayitListesi kayitlar;
void kisiEkle()
{
string ad;
cout << "Kisi adini giriniz:";
cin >> ad;
kisi k(ad);
kisiler.ekle(k);
}
void mesajAt()
{
string gonderen, alici, mesaj;
cout << "Gonderen giriniz:";
cin >> gonderen;
kisi gonderenK = kisiler.kisiBul(gonderen);
cout << "Alici giriniz:";
cin >> alici;
kisi aliciK = kisiler.kisiBul(alici);
cout << "Mesaj giriniz:";
cin >> mesaj;
kayitlar.ekle(kayit(gonderenK, aliciK, mesaj));
}
void ara()
{
string aranacak;
cout << "Hangi kullaniciya gelen mesajlar aranacak:";
cin >> aranacak;
vector<kayit> sonuc = kayitlar.kayitBul(aranacak);
for (int i = 0; i < sonuc.size(); i++)
cout << sonuc[i].gonderenAl().adAl() << "-" << sonuc[i].mesajAl() << endl;
}
int main()
{
int secim = 0;
do
{
cout << "1. Kisi Ekle" << endl;
cout << "2. Mesaj At" << endl;
cout << "3. Ara" << endl;
cout << "4. Cikis" << endl;
cout << "Secim:";
cin >> secim;
if (secim == 1)kisiEkle();
if (secim == 2)mesajAt();
if (secim == 3)ara();
} while (secim != 4);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment