#include<iostream>
#include<fstream>
#include<string>
using namespace std;
class Entry {
private:
string title;
string content;
public:
Entry(string t, string c) {
title = t;
content = c;
}
string getTitle() {
return title;
}
string getContent() {
return content;
}
};
class Diary {
private:
string fileName;
public:
Diary(string fName) {
fileName = fName;
}
void writeEntry(Entry e) {
ofstream file;
file.open(fileName, ios::app);
file << e.getTitle() << endl;
file << e.getContent() << endl;
file.close();
}
void displayEntries() {
ifstream file;
file.open(fileName);
string line;
while(getline(file, line)) {
cout << line << endl;
}
file.close();
}
};
int main() {
Diary diary("myDiary.txt");
Entry entry1("First Entry", "This is my first entry in the diary.");
diary.writeEntry(entry1);
Entry entry2("Second Entry", "This is my second entry in the diary.");
diary.writeEntry(entry2);
diary.displayEntries();
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGZzdHJlYW0+CiNpbmNsdWRlPHN0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEVudHJ5IHsKICAgIHByaXZhdGU6CiAgICAgICAgc3RyaW5nIHRpdGxlOwogICAgICAgIHN0cmluZyBjb250ZW50OwogICAgcHVibGljOgogICAgICAgIEVudHJ5KHN0cmluZyB0LCBzdHJpbmcgYykgewogICAgICAgICAgICB0aXRsZSA9IHQ7CiAgICAgICAgICAgIGNvbnRlbnQgPSBjOwogICAgICAgIH0KICAgICAgICBzdHJpbmcgZ2V0VGl0bGUoKSB7CiAgICAgICAgICAgIHJldHVybiB0aXRsZTsKICAgICAgICB9CiAgICAgICAgc3RyaW5nIGdldENvbnRlbnQoKSB7CiAgICAgICAgICAgIHJldHVybiBjb250ZW50OwogICAgICAgIH0KfTsKCmNsYXNzIERpYXJ5IHsKICAgIHByaXZhdGU6CiAgICAgICAgc3RyaW5nIGZpbGVOYW1lOwogICAgcHVibGljOgogICAgICAgIERpYXJ5KHN0cmluZyBmTmFtZSkgewogICAgICAgICAgICBmaWxlTmFtZSA9IGZOYW1lOwogICAgICAgIH0KICAgICAgICB2b2lkIHdyaXRlRW50cnkoRW50cnkgZSkgewogICAgICAgICAgICBvZnN0cmVhbSBmaWxlOwogICAgICAgICAgICBmaWxlLm9wZW4oZmlsZU5hbWUsIGlvczo6YXBwKTsKICAgICAgICAgICAgZmlsZSA8PCBlLmdldFRpdGxlKCkgPDwgZW5kbDsKICAgICAgICAgICAgZmlsZSA8PCBlLmdldENvbnRlbnQoKSA8PCBlbmRsOwogICAgICAgICAgICBmaWxlLmNsb3NlKCk7CiAgICAgICAgfQogICAgICAgIHZvaWQgZGlzcGxheUVudHJpZXMoKSB7CiAgICAgICAgICAgIGlmc3RyZWFtIGZpbGU7CiAgICAgICAgICAgIGZpbGUub3BlbihmaWxlTmFtZSk7CiAgICAgICAgICAgIHN0cmluZyBsaW5lOwogICAgICAgICAgICB3aGlsZShnZXRsaW5lKGZpbGUsIGxpbmUpKSB7CiAgICAgICAgICAgICAgICBjb3V0IDw8IGxpbmUgPDwgZW5kbDsKICAgICAgICAgICAgfQogICAgICAgICAgICBmaWxlLmNsb3NlKCk7CiAgICAgICAgfQp9OwoKaW50IG1haW4oKSB7CiAgICBEaWFyeSBkaWFyeSgibXlEaWFyeS50eHQiKTsKICAgIEVudHJ5IGVudHJ5MSgiRmlyc3QgRW50cnkiLCAiVGhpcyBpcyBteSBmaXJzdCBlbnRyeSBpbiB0aGUgZGlhcnkuIik7CiAgICBkaWFyeS53cml0ZUVudHJ5KGVudHJ5MSk7CiAgICBFbnRyeSBlbnRyeTIoIlNlY29uZCBFbnRyeSIsICJUaGlzIGlzIG15IHNlY29uZCBlbnRyeSBpbiB0aGUgZGlhcnkuIik7CiAgICBkaWFyeS53cml0ZUVudHJ5KGVudHJ5Mik7CiAgICBkaWFyeS5kaXNwbGF5RW50cmllcygpOwogICAgcmV0dXJuIDA7Cn0=