/*
*目的:乙個簡單的文字查詢程式
*作用:程式將讀取使用者指定的任意文字檔案,然後允許使用者從該檔案中查詢單詞。
*查詢的結果是該單詞出現的次數,並列出每次出現所在的行。
*如果某單詞在同一行中多次出現,程式將只顯示該行一次。
*行號按公升序顯示,即第 7 行應該在第 9 行之前輸出,依此類推。*/
/*思路:*1.使用乙個 vector型別的物件儲存整個輸入檔案的副本。
* 輸入檔案的每一行是該 vector 物件的乙個元素。
* 因而,在希望輸出某一行時,只需以行號為下標獲取該行所在的元素即可。
*2.將每個單詞所在的行號儲存在乙個 set 容器物件中。
* 使用 set 就可確保每行只有乙個條目,而且行號將自動按公升序排列。
*3.使用乙個 map 容器將每個單詞與乙個 set 容器物件關聯起來,
* 該 set 容器物件記錄此單詞所在的行號。*/
源**::
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
using namespace std;
class textquery
setrun_query(const string&) const;
string text_line(line_no) const;
private:
void store_file(ifstream &);
void build_map();
vectorlines_of_text;
map> word_map;
};void textquery::store_file(ifstream &is)
}void textquery::build_map()}}
settextquery::run_query(const string &query_word) const
else
}string textquery::text_line(line_no line) const
ifstream& open_file(ifstream &in,const string &file)
string make_plural(int size,const string &s1,const string &s2)
else
}void print_result(const set&locs,const string &sought,const textquery &file)
}int main(int argc, char const *argv)
textquery tq;
tq.read_file(infile);
while(true)
return 0;
}
第十章 TypeScript 類
class是ts的核心,使用ts開發時,大部分 都是寫在類裡面的 類的定義,類的構造,類的繼承 class person 例項化 這邊是可以new出多個例項的 var p1 new person p1.name batman p1.eat var p2 new person p2.name supe...
Clean Code 第十章 類
最近的cleancode讀到了第十章。這一張主要講了如何去構造乙個類,感覺的cleancode至此已經不僅僅是單純的講如何 寫 出漂亮的 而是從設計方向上去構造出好的 了。本章節主要講了 類的組織 我們構造的類應該短小 我們構造類應該是為修改而組織任何的設計最後都將落實到實現上來,漂亮的實現乙個類與...
C 程式設計第十章
軟體開發者將被開發的整個業務範圍稱作 問題域 按一下步驟建立物件層。1 將問題域和系統責任作為出發點 2 正確運用抽象原則 3 尋找候選物件的基本方法尋找候選物件的基本方法的主要策略是從問題域 系統邊界和系統責任三方找出可能候選物件。1 考慮問題域中可啟發分析人員發現物件的因素。2 考慮系統邊界可以...