天天看點

C#控制台->>四則運算

使用者需求:

要求編寫一個0-10之間的整數進行四則運算,程式能接收輸入的整數答案,并判斷對錯,程式結束時,統計出答對、答錯的題目數量!并且0-10的整數是随機生成的,使用者可以用鍵盤輸入來選擇四則運算中的一種。比如輸入1代表加法運算,使用者用鍵盤來輸入一個字元來結束程式的運作并顯示!統計出結果!

設計思路:

1、既然要編寫一個0-10之間的整數,那麼我就定義三個資料類型為int的變量,其中兩個用來存整數,另一個用來存最後的計算結果。

2、需要判斷對錯,那麼我可以用if(){}...else{}進行判斷。

3、程式結束要求統計答對與答錯的數量,是以再定義兩個int類型的變量來存儲數量,并用“自增”來達到每次的計數。

4、0-10是随機的,我就用Random()方法來生成。

5、既然用來進行四則運算,我就聲明4個運算方法。再聲明一個統計結果的方法用來調用

6、用鍵盤來選擇運算中的一種,可以用switch(){case:  break;}來做選擇。

具體的代碼實作:

1、這個是用來顯示菜單欄的,我們可以通過選擇'1' '2' '3'...等來決定用哪一種算法!

C#控制台->>四則運算

2、下面這個是用來調用的方法!

C#控制台->>四則運算

3、最後這個是運作的控制台!

C#控制台->>四則運算

PSP耗時分析 :

1、首先,預測完成這個任務我需要的時間是12個小時,實際用了9個小時左右吧。

2、需求分析:感覺30分鐘就夠了

3、生成設計文檔:剛開始接到這個作業的時候,我就在紙上畫了一個大概需要哪些方法的草圖,需要用什麼。這個計劃差不多用了20分鐘列了一個大緻的草圖。

4、設計複審:仔細檢查了一下,覺得不需要的地方就先放在一旁,第一次沒有想到的再加上去。這是一個思路,還會發生改變的!耗時:30分鐘左右

5、代碼規範:這個是便于浏覽整個結構框體,不是太費時間10分鐘左右吧。

6、具體設計:耗時1小時左右!

7、具體編碼:這個最耗時了,因為要不停地改動,每當有一個錯誤都要仔細檢查具體的錯誤原因。這樣才好解決問題!還有就是具體的方法應該在哪裡調用,哪個地方放什麼東西要根據你的原計劃來進行編碼。還有時而的變動。當有一個錯誤不通過的時候,就要想好久來解決!花費4.5個小時左右。

8、代碼複審:這個還可以吧,仔細浏覽,大概花費20分鐘。

9、測試:因為隻有測試才能知道哪裡有不足,是以有不足的地方又花費了我的時間來進行改動。花了1個多小時!

總結:

當接到一個項目的時候,大概看一下客戶的要求是什麼!預測一下大概需要花費多少時間,這是給自己的一個标準。

然後根據客戶的具體需求,來進行仔細分析。大概需要用到什麼方法,列一個方案,生成設計文檔!再根據自己的設計思路來進行代碼編寫,在代碼編寫的時候可能會有新的思路,那就要靈活變通。客戶需要什麼,我們就完成什麼。如果你有新的想法,想為客戶添加新的功能,我覺得最好還是不要這樣做,因為這會浪費時間和精力,還會帶來不必要的麻煩。我們所需要做的就是完成客戶的需求。

我的疑問:

在除法的方法中,會産生類似于9/7=?這樣的式子,作業要求是使用者接收整數結果,那麼9/7=1,這是一個正确的答案。可在實際生活中,就不符合我們的習慣!那麼如果我改成資料類型為double的result,我該如何答題???

思考題:

如果使用者要求處理的範圍是0-100,程式應如何應對擴充性。

答:把産生随機數的範圍改一下,改成

Random rd = new Random();

a = rd.Next(0, 101);

b = rd.Next(0, 101);

附加題:

程式能處理使用者的錯誤輸入,比如使用者輸入一個小數或一個字元

答:在switch() {case : }裡面,我添加了default,如果輸入的不是switch裡的字元,将會輸出:"輸入無效!"