From dacd393fefeabafd1306533dd6c5a56e0ab347cc Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Sun, 27 Feb 2011 18:48:35 +0100 Subject: Initial commit --- TUserList.cpp | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 TUserList.cpp (limited to 'TUserList.cpp') diff --git a/TUserList.cpp b/TUserList.cpp new file mode 100644 index 0000000..aac6d9f --- /dev/null +++ b/TUserList.cpp @@ -0,0 +1,113 @@ + +#include "TUserList.h" + +TUserList::TUserList() +{ + clear(); + filename=""; +} +TUserList::TUserList(string file) +{ + filename=""; + loadfromfile(file); +} + +TUserList::~TUserList() +{ +} + +map TUserList::give_list() +{ + return entry; +} + +void TUserList::show_list() +{ + map::iterator it; + + for (it=entry.begin(); it!=entry.end(); it++) + cout << it->first << ": " << it->second << endl; +} +void TUserList::loadfromfile(string file) +{ + string temp, temp2; + + ifstream ifs (file.c_str(), ifstream::in); + if (ifs.good()) + { + clear(); + while (getline(ifs,temp) && getline(ifs,temp2)) + entry[temp]=temp2; + + filename=file; + } + ifs.close(); +} + +bool TUserList::isinlist(string word) +{ + for (map::iterator it=entry.begin(); it!=entry.end(); it++) + if (ucase(it->first)==ucase(word)) + return true; + return false; +} + +void TUserList::addtolist(string word, string add) +{ + if (!isinlist(word)) + entry[word]=add; +} + +void TUserList::addtolist(string word) +{ + addtolist (word,""); +} + +void TUserList::removefromlist(string word) +{ + for (map::iterator it=entry.begin(); it!=entry.end(); it++) + if (ucase(it->first)==ucase(word)) + { + entry.erase(it); + break; + } +} + +void TUserList::savetofile() +{ + savetofile(filename); +} + +void TUserList::savetofile(string file) +{ + map::iterator it; + + ofstream ofs (file.c_str()); + if (ofs.good()) + { + for (it=entry.begin(); it!=entry.end(); it++) + ofs << it->first << endl << it->second << endl; + + ofs.close(); + } +} + +void TUserList::clear() +{ + entry.clear(); +} + +void TUserList::edit(string word, string add) +{ + for (map::iterator it=entry.begin(); it!=entry.end(); it++) + if (ucase(it->first)==ucase(word)) + { + it->second=add; + break; + } +} + +string TUserList::get_info(string word) +{ + return entry[word]; +} -- cgit v1.2.1