<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=Whiteblue%2F%ED%8C%8C%EC%9D%BC%EC%9D%BD%EC%96%B4%EC%98%A4%EA%B8%B0</id>
	<title>Whiteblue/파일읽어오기 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=Whiteblue%2F%ED%8C%8C%EC%9D%BC%EC%9D%BD%EC%96%B4%EC%98%A4%EA%B8%B0"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=Whiteblue/%ED%8C%8C%EC%9D%BC%EC%9D%BD%EC%96%B4%EC%98%A4%EA%B8%B0&amp;action=history"/>
	<updated>2026-05-15T20:37:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=Whiteblue/%ED%8C%8C%EC%9D%BC%EC%9D%BD%EC%96%B4%EC%98%A4%EA%B8%B0&amp;diff=81548&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:31, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=Whiteblue/%ED%8C%8C%EC%9D%BC%EC%9D%BD%EC%96%B4%EC%98%A4%EA%B8%B0&amp;diff=81548&amp;oldid=prev"/>
		<updated>2021-02-07T05:31:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;리펙토링 해야 하는데 귀찮아서리.....ㅡ.ㅡ;;;;&lt;br /&gt;
&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt; &lt;br /&gt;
 #include &amp;amp;lt;fstream&amp;amp;gt; &lt;br /&gt;
 #include &amp;amp;lt;cmath&amp;amp;gt; &lt;br /&gt;
 #include &amp;amp;lt;string&amp;amp;gt; &lt;br /&gt;
 using namespace std; &lt;br /&gt;
  &lt;br /&gt;
 #include &amp;amp;lt;vector&amp;amp;gt; &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
 class UserInfo &lt;br /&gt;
 { &lt;br /&gt;
 private: &lt;br /&gt;
         string szName;				// User&amp;#039;s name&lt;br /&gt;
         unsigned int nSchoolNumber;			// User&amp;#039;s school number&lt;br /&gt;
  &lt;br /&gt;
 public: &lt;br /&gt;
         UserInfo() {} &lt;br /&gt;
         UserInfo( string szN, unsigned int nSN ) &lt;br /&gt;
         { &lt;br /&gt;
                 szName = szN; &lt;br /&gt;
                 nSchoolNumber = nSN; &lt;br /&gt;
         } &lt;br /&gt;
         unsigned int getSchoolNumber() { return nSchoolNumber; } &lt;br /&gt;
         string getName() { return szName; } &lt;br /&gt;
 }; &lt;br /&gt;
  &lt;br /&gt;
 class BookInfo &lt;br /&gt;
 { &lt;br /&gt;
 private: &lt;br /&gt;
         int nBookNumber; &lt;br /&gt;
         string szBookName; &lt;br /&gt;
         string szWriter; &lt;br /&gt;
         string szPublishingCompany; &lt;br /&gt;
  &lt;br /&gt;
         bool bLone; &lt;br /&gt;
         UserInfo * pLendPeople; &lt;br /&gt;
          &lt;br /&gt;
 public: &lt;br /&gt;
         BookInfo() {} &lt;br /&gt;
         BookInfo( int nBN, string szBName, string szW, string szPC ) &lt;br /&gt;
         { &lt;br /&gt;
                 nBookNumber = nBN; &lt;br /&gt;
                 szBookName = szBName; &lt;br /&gt;
                 szWriter = szW; &lt;br /&gt;
                 szPublishingCompany = szPC; &lt;br /&gt;
  &lt;br /&gt;
                 bLone = false; &lt;br /&gt;
         } &lt;br /&gt;
  &lt;br /&gt;
         int getBookNumber() { return nBookNumber; } &lt;br /&gt;
         string getBookName() { return szBookName; } &lt;br /&gt;
         string getWriter() { return szWriter; } &lt;br /&gt;
         string getPublishingCompany() { return szPublishingCompany; } &lt;br /&gt;
  &lt;br /&gt;
         void lendBook(UserInfo * pUi) { pLendPeople = pUi; bLone = true; } &lt;br /&gt;
          &lt;br /&gt;
 }; &lt;br /&gt;
  &lt;br /&gt;
 class DataBase &lt;br /&gt;
 { &lt;br /&gt;
 private: &lt;br /&gt;
         int nNextBookNumber; &lt;br /&gt;
         vector &amp;amp;lt;UserInfo *&amp;amp;gt; userinfo; &lt;br /&gt;
         vector &amp;amp;lt;BookInfo *&amp;amp;gt; bookinfo; &lt;br /&gt;
  &lt;br /&gt;
 public: &lt;br /&gt;
         DataBase() &lt;br /&gt;
         { &lt;br /&gt;
 			// Read the number of Book...&lt;br /&gt;
                 ifstream f; &lt;br /&gt;
                 f.open(&amp;quot;BookNumber.dat&amp;quot;); &lt;br /&gt;
  &lt;br /&gt;
                 string szNextNum;&lt;br /&gt;
                 while (!f.eof())&lt;br /&gt;
                         getline(f, szNextNum);&lt;br /&gt;
  &lt;br /&gt;
                 unsigned int nTNN; &lt;br /&gt;
                 double nTNN2; &lt;br /&gt;
                 for (int k = 0 ; k &amp;amp;lt; szNextNum.size() ; k++)		// convert &amp;#039;char&amp;#039; into &amp;#039;int&amp;#039;&lt;br /&gt;
                 {&lt;br /&gt;
                         nTNN += ( szNextNum[k] - 48 ) * pow(10.0, nTNN2); &lt;br /&gt;
                         nTNN2--; &lt;br /&gt;
                 } &lt;br /&gt;
  &lt;br /&gt;
                 nNextBookNumber = nTNN;&lt;br /&gt;
 				f.close();&lt;br /&gt;
 &lt;br /&gt;
 			// end&lt;br /&gt;
 &lt;br /&gt;
 			// Read data from UserData file...&lt;br /&gt;
  &lt;br /&gt;
                 ifstream fin; &lt;br /&gt;
                 fin.open(&amp;quot;UserData.dat&amp;quot;); &lt;br /&gt;
  &lt;br /&gt;
                 string szTemp; &lt;br /&gt;
                 vector &amp;amp;lt;int&amp;amp;gt; nT; &lt;br /&gt;
  &lt;br /&gt;
                 unsigned int nTempNum = 0; &lt;br /&gt;
                 double nTempNum2 = 0.0; &lt;br /&gt;
  &lt;br /&gt;
                  &lt;br /&gt;
                 while (!fin.eof()) &lt;br /&gt;
                 { &lt;br /&gt;
                         getline(fin, szTemp); &lt;br /&gt;
                         for (int i = 0 ; i &amp;amp;lt; szTemp.size() ; i++) &lt;br /&gt;
                         { &lt;br /&gt;
                                 if ( szTemp[i] == &amp;#039;,&amp;#039; ) &lt;br /&gt;
                                         nT.push_back(i); &lt;br /&gt;
                         } &lt;br /&gt;
  &lt;br /&gt;
                         string szTempNum(szTemp.begin(), szTemp.begin() + nT[0]); &lt;br /&gt;
                         string szTempName(szTemp.begin() + nT[0] + 1, szTemp.size()); &lt;br /&gt;
  &lt;br /&gt;
                         nTempNum2 = szTempNum.size() - 1; &lt;br /&gt;
  &lt;br /&gt;
                         for (int j = 0 ; j &amp;amp;lt; szTempNum.size() ; j++)		// convert &amp;#039;char&amp;#039; into &amp;#039;int&amp;#039;&lt;br /&gt;
                         { &lt;br /&gt;
                                 nTempNum += ( szTempNum[j] - 48 ) * pow(10.0, nTempNum2); &lt;br /&gt;
                                 nTempNum2--; &lt;br /&gt;
                         } &lt;br /&gt;
  &lt;br /&gt;
                         UserInfo * ui = new UserInfo(szTempName , nTempNum); &lt;br /&gt;
  &lt;br /&gt;
                         userinfo.push_back(ui); &lt;br /&gt;
                 } &lt;br /&gt;
  &lt;br /&gt;
                 fin.close();&lt;br /&gt;
 &lt;br /&gt;
 			// end&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 			// Read data from BookData file... &lt;br /&gt;
  &lt;br /&gt;
                 ifstream fin2; &lt;br /&gt;
                 fin2.open(&amp;quot;BookData.dat&amp;quot;); &lt;br /&gt;
  &lt;br /&gt;
                 string szTemp2; &lt;br /&gt;
                 vector &amp;amp;lt;int&amp;amp;gt; nT2; &lt;br /&gt;
  &lt;br /&gt;
                 nTempNum = 0; &lt;br /&gt;
                 nTempNum2 = 0.0; &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
                 while (!fin2.eof()) &lt;br /&gt;
                 { &lt;br /&gt;
                         getline(fin2, szTemp2); &lt;br /&gt;
                         for (int i = 0 ; i &amp;amp;lt; szTemp2.size() ; i++) &lt;br /&gt;
                         { &lt;br /&gt;
                                 if ( szTemp2[i] == &amp;#039;,&amp;#039; ) &lt;br /&gt;
                                         nT2.push_back(i); &lt;br /&gt;
                         }&lt;br /&gt;
 &lt;br /&gt;
 						// string 변수(배열 시작, 배열 마지막);&lt;br /&gt;
  &lt;br /&gt;
                         string szTemp2BookNum(szTemp2.begin(),                          szTemp2.begin() + nT2[0]); &lt;br /&gt;
                         string szTemp2BookName(szTemp2.begin() + nT2[0] + 1,            szTemp2.begin() + nT2[1]); &lt;br /&gt;
                         string szTemp2Writer(szTemp2.begin() + nT2[1] + 1,              szTemp2.begin() + nT2[2]); &lt;br /&gt;
                         string szTemp2PublishingCompany(szTemp2.begin() + nT2[2] + 1,   szTemp2.size()); &lt;br /&gt;
  &lt;br /&gt;
                         nTempNum2 = szTemp2BookNum.size() - 1; &lt;br /&gt;
  &lt;br /&gt;
                         for (int j = 0 ; j &amp;amp;lt; szTemp2BookNum.size() ; j++)		// convert &amp;#039;char&amp;#039; into &amp;#039;int&amp;#039;&lt;br /&gt;
                         { &lt;br /&gt;
                                 nTempNum += ( szTemp2BookNum[j] - 48 ) * pow(10.0, nTempNum2); &lt;br /&gt;
                                 nTempNum2--; &lt;br /&gt;
                         } &lt;br /&gt;
  &lt;br /&gt;
                         BookInfo * bi = new BookInfo(nTempNum , szTemp2BookName , szTemp2Writer , szTemp2PublishingCompany); &lt;br /&gt;
  &lt;br /&gt;
                         bookinfo.push_back(bi); &lt;br /&gt;
                 } &lt;br /&gt;
  &lt;br /&gt;
                 fin2.close();&lt;br /&gt;
 &lt;br /&gt;
 			// end&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
         } &lt;br /&gt;
  &lt;br /&gt;
         void insertUserData(UserInfo * ui) &lt;br /&gt;
         { &lt;br /&gt;
                 userinfo.push_back(ui); &lt;br /&gt;
         } &lt;br /&gt;
  &lt;br /&gt;
         void deleteUserData(int nUserNum) &lt;br /&gt;
         { &lt;br /&gt;
                 for (int i = 0 ; i &amp;amp;lt; userinfo.size() ; i++) &lt;br /&gt;
                 { &lt;br /&gt;
                         if ( userinfo[i]-&amp;amp;gt;getSchoolNumber() == nUserNum ) &lt;br /&gt;
                         { &lt;br /&gt;
                                 userinfo.erase(userinfo.begin()+i); &lt;br /&gt;
                                 return; &lt;br /&gt;
                         } &lt;br /&gt;
                 } &lt;br /&gt;
         } &lt;br /&gt;
  &lt;br /&gt;
         void insertBookData(BookInfo * bi) &lt;br /&gt;
         { &lt;br /&gt;
                 bookinfo.push_back(bi); &lt;br /&gt;
         } &lt;br /&gt;
  &lt;br /&gt;
         void deleteBookData(int nBookNum) &lt;br /&gt;
         { &lt;br /&gt;
                 for (int i = 0 ; i &amp;amp;lt; bookinfo.size() ; i++) &lt;br /&gt;
                 { &lt;br /&gt;
                         if ( bookinfo[i]-&amp;amp;gt;getBookNumber() == nBookNum ) &lt;br /&gt;
                         { &lt;br /&gt;
                                 bookinfo.erase(bookinfo.begin()+i); &lt;br /&gt;
                                 return; &lt;br /&gt;
                         } &lt;br /&gt;
                 } &lt;br /&gt;
         } &lt;br /&gt;
  &lt;br /&gt;
         int getNextBookNumber() { nNextBookNumber++; return nNextBookNumber; } &lt;br /&gt;
  &lt;br /&gt;
         void showAll() &lt;br /&gt;
         { &lt;br /&gt;
  &lt;br /&gt;
         } &lt;br /&gt;
 };&lt;br /&gt;
= 잡담 =&lt;br /&gt;
 음. 근데 이거 스펙대로 한건가? 스펙에는 linked list 아니면, array 쓰라고 한것 같은뎅..-_-a - 임인택&lt;br /&gt;
  그거 대신 STL을 썼죠.. vector 도 linked list 로 되어있잖아요^^;;  -- 상욱([[whiteblue]])&lt;br /&gt;
   음. 정확히 linked list 라고는 말할수 없고.. 친척 정도라고 말할수 있으려나. 두개 사이에 교집합이 존재하지만, 어떤것이 다른 하나에 속한것은 아니니 - 임인택&lt;br /&gt;
    벡터 링크드 리스트 아닌데;; list가 링크드 리스트다. 벡터는 내부적으로 동적 배열 씀. --인수&lt;br /&gt;
         그런가요?.. 디버그 모드 돌려보니깐 링크드 리스트처럼 되던디.... 아니었군요... -- 상욱([[whiteblue]])&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>