課程作業四

2022-07-25 08:27:09 字數 1096 閱讀 7985

本次作業鏈結

採取物件導向的方法,四則運算自動出題軟體,根據需求可以劃分為幾個類?每個類具有什麼屬性?每個類具有什麼行為?

類與類之間是如何進行協作的?誰給誰傳送訊息?誰持有誰的引用?

該自動出題軟體採取何種演算法或者是如何實現的?可以採用流程圖描述的方法。

本次分類,我一共分離出4種類,分別是equation、file、language、random.如圖:

顧名思義,這四個類分別實現「演算法生成和計算」,「檔案操作」,「多語言提供」,「隨機數生成」。

「equation」這個類包含了creat()用來給四個隨機數賦值、給三個符號賦值以及確定括號的位置;gengerateexpression()函式用來生成表示式,其實也就是把creat()賦完值的變數整合起來;calculatresult()則是用來計算遞迴計算,其實就是多次呼叫輔助函式float calculate(float a, int b, float c)。

「file」類包含了readfile()和writefile()的功能,分別比從檔案裡讀題數和將題目、正確答案、使用者答案寫入檔案。

「language」提供多語言支援,具體延續了之前c語言的實現方式。

「random」就是包含多個不同的用來產生不同數字範圍的函式,一共有randomnumber(),randoperation(),randombracket()這三種。

目前而言還是暴力解決,例如:result = calculate(number[0], sign_1, calculate(calculate(number[1], sign_2, number[2]), sign_3, number[3]));雖然有想過用逆波蘭演算法,不過突然意識到自己不會用堆疊,只會模擬堆疊做一些程式設計的小題目,所以暫時實現不了。

課程作業四

ooa object oriented analysis,物件導向分析 從客觀存在的事務和事務之間的關係,歸納出有關物件 包括物件的屬性和行為 以及物件之間的聯絡,並將具有相同屬性和行為的物件用乙個類 class 來表示。建立乙個能夠反映真實情況的需求模型。ood object oriented d...

課程作業四

分為3個類 input,operate,和output class input private int userans 20 使用者輸入的答案 int quesnum 題目數量 public void setuserans int a void setquesnum int a int getque...

《物件導向程式設計》課程作業四

ooa object oriented analysis,物件導向分析 從客觀存在的事務和事務之間的關係,歸納出有關物件 包括物件的屬性和行為 以及物件之間的聯絡,並將具有相同屬性和行為的物件用乙個類 class 來表示。建立乙個能夠反映真實情況的需求模型。ood object oriented d...