ë¦¬íŽ™í† ë§� 해야 하는ë�° 귀찮아서리.....ã…¡.ã…¡;;;;
~cpp
#include <iostream>
#include <fstream>
#include <cmath>
#include <string>
using namespace std;
#include <vector>
class UserInfo
{
private:
string szName; // User's name
unsigned int nSchoolNumber; // User's school number
public:
UserInfo() {}
UserInfo( string szN, unsigned int nSN )
{
szName = szN;
nSchoolNumber = nSN;
}
unsigned int getSchoolNumber() { return nSchoolNumber; }
string getName() { return szName; }
};
class BookInfo
{
private:
int nBookNumber;
string szBookName;
string szWriter;
string szPublishingCompany;
bool bLone;
UserInfo * pLendPeople;
public:
BookInfo() {}
BookInfo( int nBN, string szBName, string szW, string szPC )
{
nBookNumber = nBN;
szBookName = szBName;
szWriter = szW;
szPublishingCompany = szPC;
bLone = false;
}
int getBookNumber() { return nBookNumber; }
string getBookName() { return szBookName; }
string getWriter() { return szWriter; }
string getPublishingCompany() { return szPublishingCompany; }
void lendBook(UserInfo * pUi) { pLendPeople = pUi; bLone = true; }
};
class DataBase
{
private:
int nNextBookNumber;
vector <UserInfo *> userinfo;
vector <BookInfo *> bookinfo;
public:
DataBase()
{
// Read the number of Book...
ifstream f;
f.open("BookNumber.dat");
string szNextNum;
while (!f.eof())
getline(f, szNextNum);
unsigned int nTNN;
double nTNN2;
for (int k = 0 ; k < szNextNum.size() ; k++) // convert 'char' into 'int'
{
nTNN += ( szNextNum[k] - 48 ) * pow(10.0, nTNN2);
nTNN2--;
}
nNextBookNumber = nTNN;
f.close();
// end
// Read data from UserData file...
ifstream fin;
fin.open("UserData.dat");
string szTemp;
vector <int> nT;
unsigned int nTempNum = 0;
double nTempNum2 = 0.0;
while (!fin.eof())
{
getline(fin, szTemp);
for (int i = 0 ; i < szTemp.size() ; i++)
{
if ( szTemp[i] == ',' )
nT.push_back(i);
}
string szTempNum(szTemp.begin(), szTemp.begin() + nT[0]);
string szTempName(szTemp.begin() + nT[0] + 1, szTemp.size());
nTempNum2 = szTempNum.size() - 1;
for (int j = 0 ; j < szTempNum.size() ; j++) // convert 'char' into 'int'
{
nTempNum += ( szTempNum[j] - 48 ) * pow(10.0, nTempNum2);
nTempNum2--;
}
UserInfo * ui = new UserInfo(szTempName , nTempNum);
userinfo.push_back(ui);
}
fin.close();
// end
// Read data from BookData file...
ifstream fin2;
fin2.open("BookData.dat");
string szTemp2;
vector <int> nT2;
nTempNum = 0;
nTempNum2 = 0.0;
while (!fin2.eof())
{
getline(fin2, szTemp2);
for (int i = 0 ; i < szTemp2.size() ; i++)
{
if ( szTemp2[i] == ',' )
nT2.push_back(i);
}
// string 변수(배열 시작, 배열 마지막);
string szTemp2BookNum(szTemp2.begin(), szTemp2.begin() + nT2[0]);
string szTemp2BookName(szTemp2.begin() + nT2[0] + 1, szTemp2.begin() + nT2[1]);
string szTemp2Writer(szTemp2.begin() + nT2[1] + 1, szTemp2.begin() + nT2[2]);
string szTemp2PublishingCompany(szTemp2.begin() + nT2[2] + 1, szTemp2.size());
nTempNum2 = szTemp2BookNum.size() - 1;
for (int j = 0 ; j < szTemp2BookNum.size() ; j++) // convert 'char' into 'int'
{
nTempNum += ( szTemp2BookNum[j] - 48 ) * pow(10.0, nTempNum2);
nTempNum2--;
}
BookInfo * bi = new BookInfo(nTempNum , szTemp2BookName , szTemp2Writer , szTemp2PublishingCompany);
bookinfo.push_back(bi);
}
fin2.close();
// end
}
void insertUserData(UserInfo * ui)
{
userinfo.push_back(ui);
}
void deleteUserData(int nUserNum)
{
for (int i = 0 ; i < userinfo.size() ; i++)
{
if ( userinfo[i]->getSchoolNumber() == nUserNum )
{
userinfo.erase(userinfo.begin()+i);
return;
}
}
}
void insertBookData(BookInfo * bi)
{
bookinfo.push_back(bi);
}
void deleteBookData(int nBookNum)
{
for (int i = 0 ; i < bookinfo.size() ; i++)
{
if ( bookinfo[i]->getBookNumber() == nBookNum )
{
bookinfo.erase(bookinfo.begin()+i);
return;
}
}
}
int getNextBookNumber() { nNextBookNumber++; return nNextBookNumber; }
void showAll()
{
}
};
잡담 ¶
ì�Œ. ê·¼ë�° ì�´ê±° 스펙대로 한건가? 스펙ì—�는 linked list 아니면, array ì“°ë�¼ê³ 한것 ê°™ì�€ëŽ…..-_-a - ìž„ì�¸íƒ�
그거 ëŒ€ì‹ STLì�„ ì�¼ì£ .. vector ë�„ linked list 로 ë�˜ì–´ìžˆìž–ì•„ìš”^^;; -- ìƒ�ìš±(whiteblue)
ì�Œ. ì •í™•ížˆ linked list ë�¼ê³ 는 ë§�í• ìˆ˜ ì—†ê³ .. 친척 ì •ë�„ë�¼ê³ ë§�í• ìˆ˜ ìžˆìœ¼ë ¤ë‚˜. ë‘�ê°œ 사ì�´ì—� êµ�ì§‘í•©ì�´ 존재하지만, 어떤것ì�´ 다른 하나ì—� ì†�한것ì�€ 아니니 - ìž„ì�¸íƒ�
벡터 ë§�í�¬ë“œ 리스트 아닌ë�°;; listê°€ ë§�í�¬ë“œ 리스트다. 벡터는 ë‚´ë¶€ì �으로 ë�™ì � ë°°ì—´ 씀. --ì�¸ìˆ˜
그런가요?.. 디버그 모드 ë�Œë ¤ë³´ë‹ˆê¹� ë§�í�¬ë“œ 리스트처럼 ë�˜ë�˜ë””.... 아니었군요... -- ìƒ�ìš±(whiteblue)










