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

正文內(nèi)容

面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)指導(dǎo)書-免費(fèi)閱讀

  

【正文】 cinlength。 c[i].DispName()。 int j,k。 getchar()。 ()。 if(a==0) { getchar()。 cout這是一個(gè)求方程 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。 } 項(xiàng)目文件結(jié)構(gòu) 由此可見(jiàn),這個(gè)項(xiàng)目共有 4 個(gè) .cpp 文件和一個(gè) .h 文件。 if(i==()) //返回到第一個(gè)位置 i=0; j++。 int j,k。 getchar()。參見(jiàn)下面的程序: //Joseph()函數(shù) void Joseph(vectorSeqListamp。 要把出圈者刪除,可以使用 vector 類的成員函數(shù) erase(),但erase()的參數(shù)是泛型指針,所以必須定義一個(gè)泛型指針以實(shí)現(xiàn)刪除。 c[i].SetName( )。如果使用向量,既可以根據(jù)人數(shù)定義向量數(shù)組的大小,也可以將已經(jīng)出圈的人員刪除。下次數(shù)到他時(shí),作為無(wú)效數(shù)據(jù)處理。} void SetNum(char b[]) {strcpy(name,b)。使用類的數(shù)組,則可以通過(guò)數(shù)組的下標(biāo),將位置和名字對(duì)應(yīng)起來(lái)。 cout輸入方程系數(shù) c。 for (。最簡(jiǎn)單的是輸入一個(gè) 0 作為 a 的值。 } } Display() void FindRoot::Display() { if(d0) { coutx1=x1\nx2=x2endl?!闭Z(yǔ)句實(shí)現(xiàn)。由此可見(jiàn),它們都需要用到屬性 d。 這個(gè)游戲的玩法與上一個(gè)的相同,只是程序?qū)崿F(xiàn)的方法不同而已,不再贅述。報(bào)數(shù) m 的人出列,然后從他原來(lái)所在的、順時(shí)針?lè)较虻牡南乱粋€(gè)人開始重新報(bào)數(shù),報(bào)到 m 時(shí)停止報(bào)數(shù)并出列。一般將系數(shù)設(shè)成 float 型,可以把變量設(shè)為 double 型,使用庫(kù)函 數(shù) sqart()求平方根, sqart()在頭文件 中定義。 void handle_menu(void)。) { gets(s)。 int 。 break。使用 for 循環(huán)實(shí)現(xiàn)重復(fù)選擇,并在函數(shù)handle_menue()中實(shí)現(xiàn)。 211: 第三章 課程設(shè)計(jì)題目 菜單選擇趣味程序 菜單是應(yīng)用程序的界面,控制語(yǔ)句用來(lái)改變程序執(zhí)行的順序,是實(shí) 現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)的基礎(chǔ)。 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。 ? }。 ? }??梢詤⒁?jiàn)與本書相應(yīng)的 web 網(wǎng)站來(lái)了解更多的信息。 下面是范例中發(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 之間構(gòu)成關(guān)聯(lián)關(guān)系,但與類 Product 之間沒(méi)有關(guān)聯(lián)關(guān)系,即從一個(gè) Invoice 類對(duì)象無(wú)法直接操作類 Product 對(duì)象。因此,這也是類 Invoice 的一個(gè)職責(zé)。發(fā)票要實(shí)現(xiàn)地址打印功能則需要借助 Address 類的幫助,所以在Address 類在 CRC 卡片上做如下記錄: 類似地,打印產(chǎn)品項(xiàng)應(yīng)該是類 Item 的職責(zé)。 CRC 卡片 首先需要找出系統(tǒng)中存在哪些類。 需求分析 下面程序的任務(wù)是打印發(fā)票。當(dāng)然,如果實(shí)際遇到的項(xiàng)目很復(fù)雜,那么上述步驟就顯得不夠用了,此時(shí)讀者需要學(xué)習(xí)更多的正規(guī)設(shè)計(jì)方法。例如,一個(gè)輪胎在一定時(shí)間只屬于某一車輛,它們構(gòu)成組成關(guān)系;而一個(gè)員工則可以同時(shí)為兩家公司工作,不能構(gòu)成組成關(guān)系。一個(gè) Tire類對(duì)象與一個(gè)或 0個(gè) Vehicle類對(duì)象相關(guān)聯(lián);而一個(gè) Vehicle類對(duì)象與 4個(gè)或更多的 Tire類對(duì)象相關(guān)聯(lián)。其含義是,可以通過(guò)一個(gè)類操 作另一個(gè)類的對(duì)象,但反之則不行。類名在最上面,屬性在中間,成員函數(shù)在最下面。為了進(jìn)一步區(qū)分和記憶這三種容易混淆的 UML 表示,表列出了這三種 UML 關(guān)系符號(hào)。而關(guān)聯(lián)關(guān)系是一種程度更深的依賴關(guān)系,如果一個(gè)類與另一個(gè)類存在關(guān)聯(lián)關(guān)系,則它們之間必定存在依賴關(guān)系。 ? }。 C++允許構(gòu)造這種關(guān)系,其方法如下: ? class Tire ? { ? ... ? private: ? string rating。例如:每一輛卡車都是車輛,每一個(gè)存儲(chǔ)賬戶都是銀行賬戶,每一個(gè)正方形都是矩形(等寬并等高),等等,它們描述的正是這種關(guān)系。如果發(fā)現(xiàn)目前 CRC 卡片中的內(nèi)容已經(jīng)比較混亂,完全可以丟棄,因?yàn)檫@是一個(gè)非正式的過(guò)程。 如何知道正在做正確的事情?對(duì)于每一個(gè)動(dòng)作對(duì)應(yīng)的職責(zé)功能,應(yīng)通過(guò)各個(gè) CRC 卡片中已記錄的職責(zé),來(lái)分析它具體做什么事情。 CRC 表示類( Class)、職責(zé)( Responsibilities)和協(xié)作( Collaborators)。將所有可能需要構(gòu)造的類記錄在一個(gè)列表中是一個(gè)好習(xí)慣。在這個(gè)階段,測(cè)試人員提交一份測(cè)試報(bào)告,說(shuō)明所進(jìn)行的測(cè)試和測(cè)試的結(jié)果。在需求文檔中也應(yīng)該包括系統(tǒng)的穩(wěn)定規(guī)定,例如程序必須在給定時(shí)間內(nèi)處理多少輸入,或者對(duì)于系統(tǒng)內(nèi)存和磁盤空間的最大需求方面的規(guī)定。 3.程序能正常運(yùn)行。前四個(gè)題目提供了源代碼參考,并要求有相應(yīng)的擴(kuò)展。 4. 撰寫課程設(shè)計(jì)報(bào)告。 1. 利用 CRC 卡片設(shè)計(jì)類和類中的方法,并使用 UML 繪制類圖,然后實(shí)現(xiàn)該程序。還提供了一個(gè)實(shí)例演示整個(gè)過(guò)程。 1.對(duì)于已經(jīng)提供源代碼的程序,如果沒(méi)有實(shí)現(xiàn)擴(kuò)展功能,最高成績(jī)?yōu)榱?。下面?duì)這 5 個(gè)階段做一個(gè) 概括性的描述: ? 分析 ? 設(shè)計(jì) ? 實(shí)現(xiàn) ? 測(cè)試 ? 運(yùn)行 在分析 (analysis)階段 ,需要明確項(xiàng)目將完成什么任務(wù)(目標(biāo)),但并不考慮程序具體如何實(shí)現(xiàn)這些功能。 在實(shí)現(xiàn)( implementation)階段,編寫程序代碼來(lái)具體實(shí)現(xiàn)所設(shè)計(jì)的類及其成員函數(shù)。我們已經(jīng)使用一些類來(lái)表示有形的實(shí)體,例如產(chǎn)品、圓、時(shí)鐘等;另一些類用來(lái)表示抽象的概念,例如:流、串。仍以上面的發(fā)票程序?yàn)槔?,程序中?yīng)當(dāng)有一個(gè)類用來(lái)計(jì)算合計(jì)金額。 在本例中,要計(jì)算發(fā)票的合計(jì)金額,則需要每個(gè)項(xiàng)目的金額(單項(xiàng)小計(jì));所以項(xiàng)目類便成為發(fā)票類的協(xié)作者。一些研究者認(rèn)為,一個(gè) CRC 卡片中不應(yīng)包含超過(guò)三個(gè)不同的職責(zé)。 我們已經(jīng)學(xué)過(guò)了類的繼承關(guān)系。汽車輪胎并不一定就是圓的。如果要設(shè)計(jì)一個(gè)程序?qū)Ω咚俟返慕煌ㄟM(jìn)行圖形模擬,則程序應(yīng)當(dāng)為轎車、卡車以及其他車輛構(gòu)造相應(yīng)模型。實(shí)際上,當(dāng)一個(gè)類的數(shù)據(jù)成員的類型是另一個(gè)類時(shí),則這兩個(gè)類是關(guān)聯(lián)的。 對(duì)于一個(gè) Purse 類對(duì)象,不必包含 Coin 類對(duì)象,只需在 Purse 類的合計(jì)金額計(jì)算方法中加上硬幣的值,而不必在 Purse 類對(duì)象中存儲(chǔ)一個(gè) Coin 類對(duì)象。但是,類 Time應(yīng)該有 seconds,minutes 和 hours這三個(gè)屬性,但實(shí)際上該類中并沒(méi)有將他們存儲(chǔ)為相應(yīng)的數(shù)據(jù)成員。 在 UML類圖中,關(guān)聯(lián)關(guān)系是最為復(fù)雜的關(guān)系,而且表示方法尚有待進(jìn)一步標(biāo)準(zhǔn)化。但是,一些設(shè)計(jì)者將這種沒(méi)有方向的關(guān)聯(lián)關(guān)系視為“未定”關(guān)聯(lián),即目前還不能確定操作方向。但是,類 BankAccount 和類 Person 之間并不構(gòu)成聚集關(guān)系,盡管可以從一個(gè)銀行賬戶中獲取一個(gè)客戶,即賬戶所有者,但從概念上講,二者之間并不構(gòu)成“整體 部分”關(guān)系。 這 5 個(gè)步驟對(duì)于初學(xué)編程的人來(lái)說(shuō)特別有效。這對(duì)于讀者在實(shí)際更為復(fù)雜的系統(tǒng)中應(yīng)用這些方法也是很有幫助的。例如: ? Sam39。 在進(jìn)行了這樣的分析之后,現(xiàn)在有如下 4 個(gè)候選類: 發(fā)票( Invoice) 地址( Address) 產(chǎn)品項(xiàng)( Item) 產(chǎn)品( Product) 上述每項(xiàng)各自都代表了一個(gè)單獨(dú)的概念,從而可以為它們?cè)O(shè)計(jì) 4個(gè)類。 那么如何獲得產(chǎn)品項(xiàng)的小計(jì)金額呢?首先應(yīng)查詢相應(yīng)產(chǎn)品的單價(jià),再與產(chǎn)品的數(shù)量相乘即可得到該小計(jì)金額。 接下來(lái)要判斷這些依賴關(guān)系中哪些類又進(jìn)一步構(gòu)成關(guān)聯(lián)關(guān)系。對(duì)于類可以簡(jiǎn)單地給出注釋。 ? }。首先,從類 Invoice 開始,類 Invoice 與類 Address 和 Item 類關(guān)聯(lián),所以每個(gè) Invoice 類應(yīng)包含一個(gè) Address類對(duì)象和若干個(gè) Item 類對(duì)象。 對(duì)于成員函數(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\
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1