寒假作業三
1.部落格首頁
Dark-Existed
Z、悟空
2.實作設計思路
一.計算式的生成以及答案的計算
- 利用srand rand生成随機數和随機符号 itoa函數連接配接字元和int類型的數字 string類型可通過'+'直接連接配接字元,利用這個特性直接添加() 來随機生成計算式
-
答案的計算利用棧模拟四則運算 由于計算式存儲在string類型中無法直接得出計算結果,是以利用棧模拟四則運算得出答案
先将string類型中原本的中綴表達式轉換成字尾表達式以便于用棧模拟運算 利用棧去計算得出結果
二.計算結果的驗證以及正确錯誤題目的統計
通過将使用者輸入數值與答案進行比較判斷答題是否正确 計算正确的題目數量 同時提示是否正确
3.編碼規定
縮進用4個空格 {}單獨成行 每個語句 單獨一行
程式實作和結果測試截圖
在大部分情況下能夠正确運作 然而存在部分缺陷 将float類型的答案進行轉換 保留兩位小數時存在精度損失 所得到答案可能會不正确
answer[i]=expressionCalculate(equation[i]);
//四舍五入保留兩位小數
temp2=(int)(answer[i]*100+0.5f);
answer[i]=(float)temp2/100;
這需要後續進行改進,避免轉換的時候的精度損失
測試截圖

github的送出連結和送出日志截圖
送出連結
本次合作使用的是github desktop
GUI界面對于新手而言易于上手 同時更加直覺看到一些修改 但是功能沒有指令行那麼強大
後續将深入各種指令
送出截圖
共同部分
main函數
main函數中的計算式生成主要是我實作的 中英文的輸出提示是partner實作的
同時雙方會在送出後看對方的實作方法 并提出一些建議
我的部分
creat_symbol(随機符号)
bracket(随機括号)
int_str(數字轉字元串)
connecct(連接配接數字運算符)
InfixToPostfix(将中綴表達式轉換成字尾表達式)
posfixCompute(計算字尾表達式)
expressionCalculate(表達式計算)
合作過程 合作體會
剛開始先溝通各自需要完成的部分 然後就去實作自己需要完成的功能 遇到一些困難會一起想解決辦法 由于未寫過多源檔案 是以此次是寫在一個源檔案中 這對送出時的順序需要注意 但所幸送出時沒有出現錯亂
在合作中溝通是很重要的環節 要做到對方了解你所表達的東西需要一些溝通能力
第一次合作完成編碼 學習到團隊合作的一些經驗 對将來的團隊合作會有不少的幫助