這次個人編程項目對大多數人來說可能比較簡單,但是對我來說卻沒那么容易。不過經過這次項目我也學到了不少東西。
首先,自己幾乎對編程一無所知,所有的東西都要去查去學。開始在怎么遍歷文件就卡住了,在網上找了各種遍歷文件的方法,但是沒有一個符合老師的要求。對我這樣一個編程小白來說,以前都沒用程序開過文件,自己編一個遍歷文件的程序是在摸不着頭腦。沒辦法就用了一個不支持通配符的文件遍歷程序先湊活着。
查找文件算是暫時湊活過去了,但是問題又來了,如何將一行字母拆成一個個單詞?開始用istringstream,結果這完全就是一個坑爹貨。開始是因為istringstream分兩個空格之間的字符為單詞,我就用replace函數替換其他標點為空格,替換之后還不行,字符個數統計還是錯誤的,在行首行尾就容易出問題,並且效率極其低下。然后我又自己編寫了一個提取單詞的子程序,結果快了不少。
改完之后,程序還是很慢,感覺是因為用map的原因(map也是從網上查的,之前就不知道這東西)。后來因為趕着時間要交也沒改成就這么湊活着交上去了。
這次調試用了很長時間,估計時間跟實際編程時間嚴重不符,寫程序時就這么一下子寫了下來,調程序時通不過,然后就開始了漫長的debug過程。上面寫的那些都是在調試的時候改的,自己實在底子弱,不過這樣能學到的東西更多。
自己本科只學過C語言,知道面向對象,但腦子里壓根就不接受那種思想,還是面向過程的編程思想。結果這次還是用C++的函數編了C的程序。以后還要好好努力,多寫些面向對象程序,爭取早日找到編程的感覺,在這邊不能寫程序幾乎是混不下去的。