天天看點

2017 寒假作業 (三)

第三次寒假作業

合作随筆

作者資訊

劉思泳 佘嶽昕
031602524 031602131
部落格連結

子產品分工

  1. 編碼規範
  2. 顯示算式
  3. 計算算式
  4. 界面設計
由洋芋、完成前兩個部分,Syxxx完成後兩個部分
剛開始的時候預估難度出現問題,沒有想到在計算上會出現這麼多問題,洋芋、有很大的責任,在此向我的隊友道歉。
我開始寫的時候也預估錯了難度,導緻後面debug了好幾天,拖了一下後腿,同表示歉意。

設計思路

  1. 我們将這個項目分成兩個部分是因為,這樣做可以分工完成後兩個人同時開工,對于做第二部分的人來說,已經知道需要哪些參數,就能更快地開始編寫。
  2. 顯示計算部分,采用了将數字和符号分開儲存到兩個數組的方法,當然若是存在一起也會産生問題,括号的話采用了直接輸出的方法,然後用括号的位置直接計算,這樣就避免了使用棧。
  3. 計算部分的混合運算采用了優先級的方法,設定三個函數遞歸,在加減之前檢視符号是否為乘除,在檢視是否為括号位置,這樣就能保證混合運算了。
  4. 計算部分的分數運算采用了用()括起來的方式,來表達這是一個分數
  5. 按鍵結束我們采用了按e結束的方法,運用了getchar函數。
  6. 中英文切換比較簡單,也比較直接的采用if語句實作,在每一處需要輸出的地方判斷一次就行

制定的編碼規範

程式實作和結果測試的截圖

結果測試之中文版本

2017 寒假作業 (三)

結果測試之英文版本

2017 寒假作業 (三)

結果測試之e退出程式

2017 寒假作業 (三)

github的送出連結和送出日志

Github

我們覺得相比git的讨論方法,qq上讨論一些小的難點更加的友善,而github跟适合一些階段性的成果版本,或是在需要代碼比對的時候用到

2017 寒假作業 (三)

這個是個半成品用來顯示算式

2017 寒假作業 (三)

這是我們的第一個版本,這個版本包括了無分數的計算,是一個初始的版本

2017 寒假作業 (三)

這個下一個,由于解決過程沒有截圖下來,就直接上最終版了,但其實過程相當曲折

2017 寒假作業 (三)
2017 寒假作業 (三)

送出版本記錄,版本記錄有點多,截了一部分

2017 寒假作業 (三)
2017 寒假作業 (三)

分工和協作的證據截圖

這些是我們在qq上的讨論記錄

2017 寒假作業 (三)
2017 寒假作業 (三)
2017 寒假作業 (三)
2017 寒假作業 (三)

合作的過程和合作體會

合作過程:

拿到題那天晚上初步構思了一下思路,當時隻考慮了生成算式的部分,我的方法完全是純暴力,并且在生成括号的地方卡了很久,後來組隊後感謝隊友對這部分的貢獻,否則我可能一個人無法完成這項任務。之後由于我練車考駕照還有一些瑣事耽擱了一點時間,隊友先完成了整數部分的加減乘除,然後我開始寫驗算的時候對方同步進行括号和分數的處理,等我終于搞定後整合代碼,最後完善一下細節部分就大功告成了。說起來雖然容易但期中曲折不斷。

合作體會:

這是第一次嘗試組隊完成一個項目,之前都是自己解決題目,是以怎麼拖延都沒關系,畢竟deadline是第一生産力,不過組隊後就不一樣了,為了不拖隊友後腿必須加緊寫完,但還是耽擱了好一會,在此向隊友道歉。

debug的時候差點崩潰,瞬間懂了為什麼經常說程式員要加班,當然還有我技術不到位的原因,下學期要好好努力不能再坑隊友。而等我最終看到運作結果終于符合預期的時候,簡直要淚流滿面了,滿滿的成就感,經曆了一次又一次的失敗,萬念俱灰卻始終沒有放棄,終于看到了勝利的曙光,瞬間覺得前面的辛苦都是值得的,以後可能還會經曆很多次這樣的情況,也算是提前感受了一下吧。

另外這次作業讓我感受到了團體協作的重要性,工作量一下子減少了很多,這才是寫代碼的正确方式啊。其實我覺得代碼還可以寫得更好但是時間來不及了(拖延),類啊棧啊重載運算符啊什麼的都沒涉及,這是一個不足之處,以後還要好好學習。

最後,學無止境。