能夠自動生成四則運算練習題
可以定製題目數量
使用者可以選擇運算子
使用者設定最大數(如十以內、百以內等)
使用者選擇是否有括號、是否有小數
使用者選擇輸出方式(如輸出到檔案、印表機等)
最好能提供圖形使用者介面(根據自己能力選做,以完成上述功能為主)
經過我和我的夥伴商量我們決定如下:
駕駛員:劉亞(本人)
領航員:江民亮
圖形介面用android 開發
三個介面:1.使用者選擇介面。2.題目介面。 3. 使用者做題後正確率顯示介面
根據使用者選擇可以定製題目數量,運算子,最大數,是否有括號和小數
由於是面對手機使用者開發的(介面比較小)所以我們決定每次只出10道題目,如果使用者想再繼續做題,我們在螢幕下方設定兩個按鈕,「再來10道題」介面就可以重新整理再出10道題,如果覺得做夠了,點選「就這樣吧」即可結束。
當使用者點選「就這樣吧」的時候會出現次介面,會反饋出給使用者鼓勵的話和成績
主要分為兩個函式formula(){}(產生表示式的函式),calculate(string eq){}(計算等式的函式),
```public void formula()
symbol=rand.nextint(4);//[0,4)的隨機整數數
switch (symbol)
if(i!=count)
else
if(yfalse)
producelastbrackets(i);
equation+=ch;
}else
else
producelastbrackets(i);
}i++;
}equation+="=";
equation=equation.trim();
string test="3+2*5=";
system.out.println("結果:"+test);
system.out.println(calculate(test));
system.out.println("結果:"+equation);
system.out.println(calculate(equation));
}public boolean producefirstbrackets(int i)
}return yes;
}public void producelastbrackets(int i)
}else
else}}
}}
計算函式優先順序(,*,/,+,-,)
private boolean isnumber(char ch)
return false;
}
總結
由於時間關係,沒有來的急對介面進行優化,還有功能一有乙個傳引數值的bug一直沒有除錯好,還有在計算的時候經過領航員長時間的除錯基本沒有計算錯的了,談談我們的領航員吧,結對講究的就是合作吧,開始開發之前我們一起討論,怎麼寫介面,怎麼新增功能,考慮除0的情況,在寫計算函式的時候我們討論如何考慮優先順序,決定用棧來寫,**全部由我完成,所以我們還是合作愉快的。快要接近截止時間了,能力有限,只能做到此了。
要看全部**戳[這裡](
關於生成四則表示式
關於出題數量和列印方式的限制解決。使用兩個引數num line,num限制出題數量,line限制輸出時每行輸出數量。將for迴圈設為無限迴圈,在迴圈的最後讓四組數量相加等於num即可break跳出迴圈。最後乙個限制有很多要求,目前完成了除分數的前幾個要求。解決方法就是在for迴圈剛開始時,兩個引數和...
四則表示式
四則表示式求值,過了北大百練,放心用哈 北大百練url include include include include includeusing namespace std const int maxn 1000000 char str maxn 可以定義乙個字元變數,儲存c前的乙個字元,這樣就可以...
隨機生成四則表示式2
接著上次的程式,老師又給二柱子增加了幾個條件,對程式再做進一步的改進,要求滿足如下條件 1.題目避免重複。2.可制定。數量 列印方式 3.可以控制下列引數 如下是對本題的分析 針對問題,首先要進行拆分。從最小的功能開始,然後依次實現。首先還是生成一道兩個數的四則表示式,這個不難實現。困難的是如何生成...