課程作業一

2022-03-09 13:48:10 字數 836 閱讀 9438

github鏈結

這次作業我選擇了重構**,因為我上幾次作業使用了類似於出題模板的**,導致我的程式隨機性不夠,於是我下定決心寫乙份符合我自己的要求的**,期間遇見了許許多多的問題,例如計算生成算式值的時候,自己也想了了乙個思路:用string型變數來儲存算式,然後去尋找第乙個「)」,然後計算它與前乙個「(」之間算式的值,然後用這個值來替代原來的(a*b+c),然後繼續尋找下乙個「)」,如此的替換下去,就會把原來複雜的算式,變成乙個沒有括號的算式,但是在執行的時候我發現,如果括號之間的值為浮點數,就很難進行替代了。思索了很久,終於忍不住去論壇上尋找大佬的幫助,在一篇文章中看到可以用棧的方式來進行求解,具體方式就是掃瞄整個算式,遇見數字就將其轉換為浮點型,存入temp變數中,接下來用下一次遇見的符號來判斷是否將這個數值壓入數字棧,然後將符號壓入符號棧,檢測本次符號與棧頂符號的優先順序,來簡化算式,具體的解釋,我在**中已經標註。

這次作業讓懂得,寫一篇完善的**確實是一件難事,這次作業整整花費我兩天的實踐,編碼到深夜,但是我覺得是值得的,至少我通過自己的努力寫出了乙份讓自己滿意的**,也在網上學習到了很多東西,比如:vector型容器和map容器,在這期間我也向陳逸超學長,和趙暢學長問了一些問題,很感謝兩位學長的耐心解答,之前的**也告誡著我:偷懶是沒有好果子吃的!

分離函式能使自己的程式看起來更具有條理性,讀者能很清楚的看出每個模組的功能,這正體現了c語言的特點:模組化設計。在以後的編碼中我也會採用這種的編碼格式。下面是我的主函式

int main() 

} p.print(sum); //用於輸出結果

return 0;

}

課程作業一

git鏈結 在寒假作業三的基礎上,開始重構之路 這次作業的第一步,函式分離和c 基礎。先回顧下題目描述 編寫乙個能對0 10之間的整數進行四則運算的 軟體 提供給小學生使用的自主四則運算練習程式。程式能接收使用者輸入的整數答案,並判斷對錯。程式結束時,統計出答對 答錯的題目數量。其中 0 10的整數...

課程作業一

這次作業是重寫的,上次運用了模板,這次審視了一下題目,要將上次的 模組化,函式分離。模組化和函式分離可以使 的可讀性更強,使整個 更加緊湊有條理。但很明顯如果利用了上次的模板化的運算器就不能有題目這樣要求的函式分離。所以決定重寫 期間遇到許多問題。在上次組隊同伴巨集巖寫的速度比我快的情況下,討教了他...

《物件導向程式設計》課程作業一

在看完這次的作業要求後我整個人是混亂的,因為作業要求把不同的函式放在乙個main函式中 我們之前也是進行了函式分離,但是是放在了不同的檔案中。如果要改的話相當於重寫 而且這兩種形式其實也都是在呼叫函式 絕不是星期日乙個小時就能做完的,所以我和助教聊了一下 在得到助教的回答後我又重新看了一遍 發現我們...