標籤:
題目:
- 請編寫一個能自動產生小學四則運算題目的 “軟體”。
- 讓程式能接受使用者輸入答案,並判定對錯。
- 最後給出總共 對/錯 的數量。
一:基本要求
1:題型選擇介面設計,選擇加、減、乘、除運算。
2:系統隨機產生一百以內的兩個數進行運算。
3:練習時,使用者從鍵盤輸入結果,正確和錯誤均有提示,按6,顯示總題數和正確數。
二:需求分析
編寫小學四則運算測試系統,要求完成兩位元的加,減,乘,除四則運算。能根據使用者的輸入來選擇運算種類,使用者輸入答案後可以判斷正誤,做完一次測試後,使用者可以決定是否繼續進行下一次運算。
三:設計
1:定義變數i,j,a,b,m其中i表示答對的題數,j表示答錯的題數,a,b表示隨機產生的數,m接收從鍵盤輸入的運算結果。
2:分別定義加,減,乘,除子函數,出錯和正確都有提示。
3:主要用JAVA語言實現使用者的輸入來選擇運算種類,並輸出答題的數目和正確的題數。
四:代碼實現(JAVA)
1 import java.text.DecimalFormat; 2 import java.util.Scanner; 3 public class ZQ {public static void main(String[] args) 4 { String condition = ""; ZQ zhidao = new ZQ(); 5 do{ Scanner scanner = new Scanner(System.in); 6 try{ System.out.print("請輸入第一個數:"); 7 double x = scanner.nextDouble(); 8 System.out.print("請輸入第二個數:"); 9 double y = scanner.nextDouble(); 10 System.out.print("請輸入運算子:"); 11 String s = scanner.next(); 12 char z = s.charAt(0); 13 zhidao.yunsuan(x, y, z); }14 catch(Exception e){ System.out.println("請輸入正確的資料!"); } 15 System.out.print("是否繼續?continue:繼續,任一字元:結束"); condition = scanner.next(); }16 while("continue".equals(condition)); } 17 public static void yunsuan(double x,double y,Character z)18 { DecimalFormat r=new DecimalFormat(); r.applyPattern("#0.00"); if(z.equals(‘+‘))19 { System.out.println(x+"+"+y+"=" + r.format((x+y))); } else if(z.equals(‘-‘))20 { System.out.println(x+"-"+y+"=" + r.format((x-y))); } else if(z.equals(‘*‘))21 { System.out.println(x+"*"+y+"=" + r.format((x*y))); } else if(z.equals(‘/‘))22 { if(y==0){ System.out.println("被除數不能為0"); } 23 else{ System.out.println(x+"/"+y+"=" + r.format((x/y))); } }24 else{ System.out.println("無法識別改運算子"); } }25 }
五:系統測試
六:PSP耗時統計
七:事後分析和總結
C語言是大一學的,JAVA是大三上學期學的,可能是比較熟悉JAVA語言的編寫,所以我選擇用JAVA語言來編寫。同過這次的實驗,雖然過程很艱辛也遇到很多的困難,但是當結果出來的時候很開心,很有成就感。望以後多多加油。
第二次作業:編寫一個四則運算的"軟體"