網際網路筆試時需要自己寫測試用例的輸入輸出,如果在這一塊卡住浪費了時間顯然不值得,這裡對於典型的測試用例輸入輸出框架進行說明。
std::cin是c++ i/o庫的標準輸入流,接受從外部裝置進行的輸入。cin輸入包括兩個階段:
從輸入裝置中輸入資料到快取中:cin在將資料寫入快取中時,以回車鍵作為標誌結束。
從快取中讀取資料
cin的》運算子從緩衝區中讀取資料時,以空格、tab、回車符為分隔符。
這裡舉個例子:輸入一行數字到乙個vector陣列中
1 2 3 4
由於行數字的數目不一定,因而無法判斷一行需要使用多少次cin>>讀入資料,因此,需要某種手段標記已經到達了換行符位置
char ch;
int temp;
vectorlist;
while ((ch = cin.get()) != '\n')
這裡使用cin.get()讀取字元,判斷字元是否為換行符。然後將字元放回快取中,格式化讀取數字,將數字加入vector。相當於手工加入換行判斷。
針對上面的例子,還可以現將一行字串讀入字串流中,然後從字串流中格式讀取數字到vector中。本質上是利用了是sstream的對於換行的自動控制,省去了手動判斷的過程。
int n;
string str;
vectorlist;
getline(cin, str);
stringstream ss(str);
while (ss >> n)
list.push_back(n);
getline()是這裡需要注意到乙個要點:getline()函式,該函式定義在標頭檔案中。
可見:由於cin>>以空格分隔,因此讀資料時遇到空格停止。
而getline()函式可以包含空格。
3
1 2 3
4 57 8 9
第一行的數字表示目標個數n,剩餘行為編號為0~n-1的目標的內容。如果考慮到會輸入多個測試用例,輸入框架如下:
完成!
用txt文字做輸入測試用例
本實驗取材於郭煒的 程式設計與演算法 利用此法完全可以明白,如何解放雙手。在本地建立txt,例如 然後右擊檔案,點進 屬性 如這樣 複製位置,外加你建立的檔名 這樣 c users administrator desktop test.txt將所有的 這個變化為 即這樣 c users admini...
業務用例和系統用例
拋開前一篇文章談的總體思路,我們今天來談一下需求分析工作實質性的做些什麼。在這裡,我們,將主要關注於分析層面,也即 uml中的用例模型和邏輯模型。在這裡要申明的是邏輯模型並不能完全算需求分析階段的工作,因為它包含了設計模型的概念,但是我又把它歸納了一塊到需求分析階段,原因在於邏輯模型中存在了業務物件...
業務用例和系統用例
業務用例與系統用例具有同樣的特徵,因此編寫和評審用例的方法對兩者都適用。在業務用例中說明的東西,也會在系統用例中說明。這形成了系統用例和使用者用例之間的合作。但這樣帶來了兩個壞訊息。第乙個壞訊息 編寫者和讀者經常把二者弄混,可能把系統行為放入業務用例中,也可能把業務操作歸於系統用例。如果能夠商量著去...