作業四 -小學四則運算
作業四 個人項目-小學四則運算 “軟件”
本次作業要求來自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186
我的github遠程倉庫的地址:https://github.com/Tysonnnn2/tysonnnn2
一、題目要求
像《構建之法》的人物阿超那樣,寫一個能自動生成小學四則運算題目的命令行 “軟件”。
具體要求:任何編程語言都可以,命令行程序接受一個數字輸入,然後輸出相應數目的四則運算題目和答案。例如輸入數字是 30, 那就輸出 30 道題目和答案。 運算式子必須至少有兩個運算符,運算數字是在 100 之內的正整數,答案不能是負數。 如:23 - 3 * 4 = 11
二、擴展要求
1) 要求能出和真分數 (二分之一, 十二分之五,等)相關的練習題。
2) 並且要求能處理用戶的輸入,並判斷對錯,打分統計。 要求能處理用戶輸入的真分數, 如 5/8, 9/4 等。
三、構思設計
開發工具:vc++
編程語言:C語言
思路主要分為四大板塊:
(1)生成隨機數
(2)得出隨機的式子
(3)結果判斷
(4)計算正確率
四、主要代碼
char getSignal(); //獲取隨機運算符函數
int random(double,double); //獲取隨機數函數
int getResult(int,int,char); //結果計算函數
int takeTest(); //題目生成函數
詳細代碼見git庫Cpp1
五、結果展示
六、遇到的問題與體會
遇到的問題:不知道怎麽產生隨機的符號,在除法運算中比較多的問題需要解決,例如小數點的判斷,還有除不盡的情況等。
解決方法:在網上查閱資料,還有之前課堂上的筆記。
體會:寫c語言來說,是比java困難很多很多的,因為所有的東西都需要程序員考慮周全,而java有很多的函數和方法都是已經存在的,可以直接調用的。
七、時間統計
PSP2.1 | Personal Software Process Stages | Time Senior Student | Time |
Planning | 計劃 | 8 | 8 |
· Estimate | 估計這個任務需要多少時間 | 12 | 10 |
Development | 開發 | 90 | 100 |
· Analysis | 需求分析 (包括學習新技術) | 20 | 20 |
· Design Spec | 生成設計文檔 | 0 | 0 |
· Design Review | 設計復審 | 3 | 5 |
· Coding Standard | 代碼規範 | 0 | 0 |
· Design | 具體設計 | 10 | 13 |
· Coding | 具體編碼 | 35 | 30 |
· Code Review | 代碼復審 | 10 | 9 |
· Test | 測試(自我測試,修改代碼,提交修改) | 15 | 20 |
Reporting | 報告 | 9 | 6 |
· | 測試報告 | 0 | 0 |
· | 計算工作量 | 5 | 2 |
· | 並提出過程改進計劃 | 0 | 0 |
作業四 -小學四則運算