這次作業是重寫的,上次運用了模板,這次審視了一下題目,要將上次的**模組化,函式分離。模組化和函式分離可以使**的可讀性更強,使整個**更加緊湊有條理。但很明顯如果利用了上次的模板化的運算器就不能有題目這樣要求的函式分離。所以決定重寫**。期間遇到許多問題。在上次組隊同伴巨集巖寫的速度比我快的情況下,討教了他,解決了不少問題。另外註明我的計算結果的演算法出現了問題,不能在deadline之前完成,所以現在的很大一部分是在別人的幫助下完成的。自己的那段**會在後續加上。
前一次作業沒用利用足夠的隨機性,這樣的運算器的侷限性使之若要談實用性,必將大打折扣,所以在緊湊的時間裡決定重新寫這個**,困難是先比於上次合作作業來說多很多的。其中乙個原因便是合作的情況下能更高效的完成任務。另外個人能力有限,不能很好快速的解決所遇到的問題,其中包括思路和完成。在討教完思路的情況下,打完**後,更難得的問題在於除錯bug,會遇到許多問題,在乙個較長的**裡排錯是很需要耐心的事,所以也鍛鍊了查錯能力。
class problem
昨天重寫了很久沒寫出來,所以沒在deadline之前交上。
作業後續會繼續修改
目前沒完成的想法:
void calculateresult()//用於計算生成的表示式的結果
else if (expression[i] <= '9'&&expression[i] >= '1')
else
else if (expression[i] == '('||signal.top()=='('||signal.top()==')')
signal.push(expression[i]);
printf("push %c\n", signal.top());
}else if (getpriority(signal.top(), expression[i]) == true)
else if (getpriority(signal.top(), expression[i]) == false)
else if (signal.top() == '-')
else if (signal.top() == '*')
else if (signal.top() == '/')}}
}} while (!signal.empty())
else if (signal.top() == '-')
else if (signal.top() == '*')
else if (signal.top() == '/')
else if (signal.top() == ')')
}//answer = ((float)(int)(number.top()*100))/100;
answer = number.top();
}
除錯了很多次錯誤還沒找到。所以只好先放一放。 課程作業一
github鏈結 這次作業我選擇了重構 因為我上幾次作業使用了類似於出題模板的 導致我的程式隨機性不夠,於是我下定決心寫乙份符合我自己的要求的 期間遇見了許許多多的問題,例如計算生成算式值的時候,自己也想了了乙個思路 用string型變數來儲存算式,然後去尋找第乙個 然後計算它與前乙個 之間算式的值...
課程作業一
git鏈結 在寒假作業三的基礎上,開始重構之路 這次作業的第一步,函式分離和c 基礎。先回顧下題目描述 編寫乙個能對0 10之間的整數進行四則運算的 軟體 提供給小學生使用的自主四則運算練習程式。程式能接收使用者輸入的整數答案,並判斷對錯。程式結束時,統計出答對 答錯的題目數量。其中 0 10的整數...
《物件導向程式設計》課程作業一
在看完這次的作業要求後我整個人是混亂的,因為作業要求把不同的函式放在乙個main函式中 我們之前也是進行了函式分離,但是是放在了不同的檔案中。如果要改的話相當於重寫 而且這兩種形式其實也都是在呼叫函式 絕不是星期日乙個小時就能做完的,所以我和助教聊了一下 在得到助教的回答後我又重新看了一遍 發現我們...