OOA(Object Oriented Analysis,面向對象分析): 從客觀存在的事務和事務之間的關係,概括出有關對象(包括對象的屬性和行爲)以及對象之間的聯繫,並將具備相同屬性和行爲的對象用一個類(class)來表示。創建一個可以反映真實狀況的需求模型。
OOD(Object Oriented Design,面向對象設計):將面向對象分析階段造成的需求模型進一步具體設計。如類的設計(繼承、派生、類與類之間的消息協做)、算法的設計等。採起通用的工具,如流程圖、類圖等來描述。算法
A:大體可分爲四個類。
1.文件讀寫類,將各類界面進行讀取,輸入輸出流文件。express
class file { private: int n;//題數 char input[100]; char output[100]; public: void readfile1();//讀取文件 void readfile2(char *p, int n, int right);//運行 void writefile1(char *s,double right, double answer);//內容寫入 };
2.用戶交互類,用於不一樣用戶的語言需求,根據用戶需求生成語言,題目數和生成答案。dom
class ex { private: int num; int answer; int random; public: void scanf();//選擇語言,獲取數據 void answer();//輸出正確答案 void statistics();//統計題數 }
3.隨機生成類,用於隨機生成加減乘除,數字以及符號。模塊化
class random { private: int number; char operation; public: int randomnum();//隨機數 char randomoperation();//隨機運算符 char randomexpress();//隨機算式 };
4.計算類,用於計算結果工具
class cal { private: int answer; char express; public: int cal();//計算結果 void judge();//統計答題狀況 }
類圖以下:
編碼
A:流程圖以下:
設計
A:採用循環隊列棧等等...至於博客園中大神們用到的逆波蘭,目前還在研究中...code
很是感謝各位大佬們的幫助,這次改進代碼後類的思路較爲清晰,也漸漸出現了模塊化的水準,再一步步的向分裝化改進,程序變得更加清楚,也糾正了本身的編碼習慣。對象