freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

面向對象程序設計課程設計指導書-免費閱讀

2025-07-09 13:12 上一頁面

下一頁面
  

【正文】 cinlength。 c[i].DispName()。 int j,k。 getchar()。 ()。 if(a==0) { getchar()。 cout這是一個求方程 ax2+bx+c=0的根的程序。 x2=sqrt(d)/(2*a)。c=z。 。 } } } /********************************** *菜單選擇函數(shù) **********************************/ int menu_select() { char s[2]。){ switch(menu_select()){ case 1: FindIt()。 void game1()。 public: int GetNum() {return num。 /********************************** *聲明 FindRoot類 **********************************/ class FindRoot{ private: float a,b,c,d。 } 項目文件結構 由此可見,這個項目共有 4 個 .cpp 文件和一個 .h 文件。 if(i==()) //返回到第一個位置 i=0; j++。 int j,k。 getchar()。參見下面的程序: //Joseph()函數(shù) void Joseph(vectorSeqListamp。 要把出圈者刪除,可以使用 vector 類的成員函數(shù) erase(),但erase()的參數(shù)是泛型指針,所以必須定義一個泛型指針以實現(xiàn)刪除。 c[i].SetName( )。如果使用向量,既可以根據(jù)人數(shù)定義向量數(shù)組的大小,也可以將已經(jīng)出圈的人員刪除。下次數(shù)到他時,作為無效數(shù)據(jù)處理。} void SetNum(char b[]) {strcpy(name,b)。使用類的數(shù)組,則可以通過數(shù)組的下標,將位置和名字對應起來。 cout輸入方程系數(shù) c。 for (。最簡單的是輸入一個 0 作為 a 的值。 } } Display() void FindRoot::Display() { if(d0) { coutx1=x1\nx2=x2endl?!闭Z句實現(xiàn)。由此可見,它們都需要用到屬性 d。 這個游戲的玩法與上一個的相同,只是程序實現(xiàn)的方法不同而已,不再贅述。報數(shù) m 的人出列,然后從他原來所在的、順時針方向的的下一個人開始重新報數(shù),報到 m 時停止報數(shù)并出列。一般將系數(shù)設成 float 型,可以把變量設為 double 型,使用庫函 數(shù) sqart()求平方根, sqart()在頭文件 中定義。 void handle_menu(void)。) { gets(s)。 int 。 break。使用 for 循環(huán)實現(xiàn)重復選擇,并在函數(shù)handle_menue()中實現(xiàn)。 211: 第三章 課程設計題目 菜單選擇趣味程序 菜單是應用程序的界面,控制語句用來改變程序執(zhí)行的順序,是實 現(xiàn)結構化程序設計的基礎。 197: } 198: 199: int main() 200: { 201: Address sams_address(Sam39。 189: for (int i = 0。 169: vectorItem items。 139: city = c。 124: private: 125: string name。 099: 100: // pad with spaces to fill column 101: 102: int pad = COLUMN_WIDTH ()。 074: }。 041: } 042: 043: string Product::get_description() const 044: { 045: return description。 015: /** 016: Gets the product description. 017: return the description 018: */ 019: string get_description() const。 ? }。 ? }。可以參見與本書相應的 web 網(wǎng)站來了解更多的信息。 下面是范例中發(fā)票類的注釋文檔: ? /** ? Describes an invoice for a set of purchased products. ? */ ? class Invoice ? { ? public: ? /** ? Adds a charge for a product to this invoice. ? param aProduct the product that the customer ordered ? param quantity the quantity of the product ? */ ? void add(Product p, int qunatity)。 因此,類 Invoice 與類 Address 和類 Item 之間構成關聯(lián)關系,但與類 Product 之間沒有關聯(lián)關系,即從一個 Invoice 類對象無法直接操作類 Product 對象。因此,這也是類 Invoice 的一個職責。發(fā)票要實現(xiàn)地址打印功能則需要借助 Address 類的幫助,所以在Address 類在 CRC 卡片上做如下記錄: 類似地,打印產(chǎn)品項應該是類 Item 的職責。 CRC 卡片 首先需要找出系統(tǒng)中存在哪些類。 需求分析 下面程序的任務是打印發(fā)票。當然,如果實際遇到的項目很復雜,那么上述步驟就顯得不夠用了,此時讀者需要學習更多的正規(guī)設計方法。例如,一個輪胎在一定時間只屬于某一車輛,它們構成組成關系;而一個員工則可以同時為兩家公司工作,不能構成組成關系。一個 Tire類對象與一個或 0個 Vehicle類對象相關聯(lián);而一個 Vehicle類對象與 4個或更多的 Tire類對象相關聯(lián)。其含義是,可以通過一個類操 作另一個類的對象,但反之則不行。類名在最上面,屬性在中間,成員函數(shù)在最下面。為了進一步區(qū)分和記憶這三種容易混淆的 UML 表示,表列出了這三種 UML 關系符號。而關聯(lián)關系是一種程度更深的依賴關系,如果一個類與另一個類存在關聯(lián)關系,則它們之間必定存在依賴關系。 ? }。 C++允許構造這種關系,其方法如下: ? class Tire ? { ? ... ? private: ? string rating。例如:每一輛卡車都是車輛,每一個存儲賬戶都是銀行賬戶,每一個正方形都是矩形(等寬并等高),等等,它們描述的正是這種關系。如果發(fā)現(xiàn)目前 CRC 卡片中的內容已經(jīng)比較混亂,完全可以丟棄,因為這是一個非正式的過程。 如何知道正在做正確的事情?對于每一個動作對應的職責功能,應通過各個 CRC 卡片中已記錄的職責,來分析它具體做什么事情。 CRC 表示類( Class)、職責( Responsibilities)和協(xié)作( Collaborators)。將所有可能需要構造的類記錄在一個列表中是一個好習慣。在這個階段,測試人員提交一份測試報告,說明所進行的測試和測試的結果。在需求文檔中也應該包括系統(tǒng)的穩(wěn)定規(guī)定,例如程序必須在給定時間內處理多少輸入,或者對于系統(tǒng)內存和磁盤空間的最大需求方面的規(guī)定。 3.程序能正常運行。前四個題目提供了源代碼參考,并要求有相應的擴展。 4. 撰寫課程設計報告。 1. 利用 CRC 卡片設計類和類中的方法,并使用 UML 繪制類圖,然后實現(xiàn)該程序。還提供了一個實例演示整個過程。 1.對于已經(jīng)提供源代碼的程序,如果沒有實現(xiàn)擴展功能,最高成績?yōu)榱?。下面對這 5 個階段做一個 概括性的描述: ? 分析 ? 設計 ? 實現(xiàn) ? 測試 ? 運行 在分析 (analysis)階段 ,需要明確項目將完成什么任務(目標),但并不考慮程序具體如何實現(xiàn)這些功能。 在實現(xiàn)( implementation)階段,編寫程序代碼來具體實現(xiàn)所設計的類及其成員函數(shù)。我們已經(jīng)使用一些類來表示有形的實體,例如產(chǎn)品、圓、時鐘等;另一些類用來表示抽象的概念,例如:流、串。仍以上面的發(fā)票程序為例,程序中應當有一個類用來計算合計金額。 在本例中,要計算發(fā)票的合計金額,則需要每個項目的金額(單項小計);所以項目類便成為發(fā)票類的協(xié)作者。一些研究者認為,一個 CRC 卡片中不應包含超過三個不同的職責。 我們已經(jīng)學過了類的繼承關系。汽車輪胎并不一定就是圓的。如果要設計一個程序對高速公路的交通進行圖形模擬,則程序應當為轎車、卡車以及其他車輛構造相應模型。實際上,當一個類的數(shù)據(jù)成員的類型是另一個類時,則這兩個類是關聯(lián)的。 對于一個 Purse 類對象,不必包含 Coin 類對象,只需在 Purse 類的合計金額計算方法中加上硬幣的值,而不必在 Purse 類對象中存儲一個 Coin 類對象。但是,類 Time應該有 seconds,minutes 和 hours這三個屬性,但實際上該類中并沒有將他們存儲為相應的數(shù)據(jù)成員。 在 UML類圖中,關聯(lián)關系是最為復雜的關系,而且表示方法尚有待進一步標準化。但是,一些設計者將這種沒有方向的關聯(lián)關系視為“未定”關聯(lián),即目前還不能確定操作方向。但是,類 BankAccount 和類 Person 之間并不構成聚集關系,盡管可以從一個銀行賬戶中獲取一個客戶,即賬戶所有者,但從概念上講,二者之間并不構成“整體 部分”關系。 這 5 個步驟對于初學編程的人來說特別有效。這對于讀者在實際更為復雜的系統(tǒng)中應用這些方法也是很有幫助的。例如: ? Sam39。 在進行了這樣的分析之后,現(xiàn)在有如下 4 個候選類: 發(fā)票( Invoice) 地址( Address) 產(chǎn)品項( Item) 產(chǎn)品( Product) 上述每項各自都代表了一個單獨的概念,從而可以為它們設計 4個類。 那么如何獲得產(chǎn)品項的小計金額呢?首先應查詢相應產(chǎn)品的單價,再與產(chǎn)品的數(shù)量相乘即可得到該小計金額。 接下來要判斷這些依賴關系中哪些類又進一步構成關聯(lián)關系。對于類可以簡單地給出注釋。 ? }。首先,從類 Invoice 開始,類 Invoice 與類 Address 和 Item 類關聯(lián),所以每個 Invoice 類應包含一個 Address類對象和若干個 Item 類對象。 對于成員函數(shù)的視線就比較容易。下面給出了該范例的完整程序: 001: include iostream 002: include string 003: include vector 004: 005: using namespace std。 031: 032: Product::Product() 033: { 034: price = 0。 066: 067: /** 068: Prints this item. 069: */ 070: void print() const。 091: } 092: 093: void Item::print() const 094: { 095: const int COLUMN_WIDTH = 30。 109: } 110: 111: /** 112: Describes a mailing address. 113: */ 114: class Address 115: { 116: public: 117: Address()。 130: }。 157: /** 158: Adds a charge for a product to this invoice. 159: param aProduct the product that the customer ordered 160: param quantity the quantity of the product 161: */ 162: void add(Product p, int quantity)。 181: } 182: 183: void Invoice::print() const 184: { 185: cout I N V O I C E\n\
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1