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

正文內(nèi)容

面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計指導書(留存版)

2025-08-06 13:12上一頁面

下一頁面
  

【正文】 and a price. 009: */ 010: class Product 011: { 012: public: 013: Product()。 071: private: 072: Product prod。 118: Address(string n, string s, 119: string c, string st, string z)。 163: /** 164: Prints the invoice. 165: */ 166: void print() const。 i++) 194: amount_due = amount_due + items[i].get_total_price()。從程序測試結(jié)果可知,當選擇相應選擇項時,其輸出信息分別為:解一元二次方程、出圈游戲之一、出圈游戲之二和退出程序。 2.得到 的合理值 如前所述,應該設(shè)計一個函數(shù)用來輸出提示信息和處理輸入,這個函數(shù)應該返回一個數(shù)值 ,以便供給 switch 語句使用。對于不符合要求的輸入,將被要求重新輸入。這里假設(shè)有人數(shù)為 n 個人的一個小組,他們按順時針方向圍坐一圈。圖31 是其類圖,圖 32 是 obj 的對象圖。 } else { x1=(b)/(2*a)。 cout把變量設(shè)為 double 型,使用庫函數(shù) math 進行計算。可以為類設(shè)計兩個屬性,一個是字符串,用來存儲名字。它的算法思想如下: BEGIN 初始化 人數(shù) length 參加游戲的人的名字 計數(shù)器初值 k 從 1 開始循環(huán) length 次 j 計數(shù)器清零 j 循環(huán)( j間隔次數(shù) m) 計數(shù) i 如果 i 數(shù)到尾部,則返回到第一個位置,即重置 i 等于 0 如果該位置人員仍然在 圈中,則 j 計數(shù)加 1 end j//結(jié)束循環(huán) j 如果是最后一個,結(jié)束循環(huán),作特殊處理 不是最后一個,輸出出圈人的信息 標志該人員已出圈,開始新一輪循環(huán) end k 最后一個結(jié)束循環(huán),輸出它的信息。ilength。它與 game1()中的同名函數(shù)的區(qū)別是:它不再標識,而是刪除。 c[i].SetName(s)。 } //break 語句跳轉(zhuǎn)至此處,輸出最后出列的編號 c[i].DispName()。 /********************************** *聲明 SeqList類 *使用內(nèi)聯(lián)函數(shù)定義類 **********************************/ class SeqList { int num。 } /********************************** *菜單處理函數(shù) **********************************/ void handle_menu(void){ for(。 cout\t1選擇 14:。 return。) { cout輸入方程系數(shù) a。 cinm。 if(c[i].GetNum()!=0) j++。 for(int i=0。k=length。 coutplease intput first interval m(m=20)。 cout把變量設(shè)為 double型,使用庫函數(shù) math進行計算。 } void FindRoot::Find() { if(d0) { x1=(b+sqrt(d))/(2*a)。 cout\ \n。 void Joseph(SeqList[],int)。 public: FindRoot(float x,float y,float z)。 c[i].DispName()。 for(int i=10。 //定義泛型指針 p=()。注意產(chǎn)生向量不是使用方括號“ []”,而是圓括號“()”。 按照要求,不需要為類設(shè)計求解出圈的成員函數(shù)。 FindRoot obj(a,b,c)?!?語句。 x1=(bsqrt(d))/(2*a)。 ( 2) 使用向量數(shù)組求解。 if(d0) {//有兩個不相等的實數(shù)解 } else if(d==0) {//有兩個相等的實數(shù)解 } else {//有兩個不相等的虛數(shù)解 } 具體要求如下: ( 1)設(shè)計一個 FindRoot 類表示這個方程。 if(1||4) printf(\n\t 輸入錯誤,重選 14)。 return。 本章的設(shè)計分為兩步:首先設(shè)計一個含有多個菜單項的菜單演示程序,然后再為這些菜單配上相應的功能。 i++) 190: items[i].print()。 141: zip = z。 i = pad。 051: } 052: 053: /** 054: Describes a quantity of an article to purchase and its price. 055: */ 056: class Item 057: { 058: public: 059: Item()。 最后,還需要為每一個類提供構(gòu)造函數(shù)。首先,可以在開發(fā)團對中共享這份文檔;其次,文檔格式遵循了 C++類編寫的形式,所以很容易進行編碼工作;最重要的是注釋文檔為類中的關(guān)鍵成員函數(shù)提供了注釋,而這項工作通常由程序員在實現(xiàn)階段完成,但往往由于太忙而忽略了這項工作。從上面的分析中也可以看出,在類 Item 和類 Product 之間存在關(guān)聯(lián)關(guān)系。按照 CRC 卡片的使用要求,應該將這種協(xié)作關(guān)系表現(xiàn)在卡片上。在此,不考慮實際發(fā)票中應包含的日期、稅、發(fā)票和客戶編號等復雜項。如果覺得區(qū)分它們是有幫助的,則可以按照其含義使用它們。 當然,如果在 Tire 類對象中設(shè)置一個指針,用于指向其所屬的 Vehicle類對象,則稱這種關(guān)聯(lián)關(guān)系為雙向( bidirectional)關(guān)聯(lián)。這里所說的屬性是指從外部可 見的對象特征。圖 是一個有繼承關(guān)系和關(guān)聯(lián)關(guān)系的類圖。例如,考慮一個表示汽車輪胎的Tire 類作為 Circle 類的派生類嗎?似乎是合理的,因為 Circle 類中的一些方法對 Tire類也是很有用的,例如: Tire類可以繼承 Circle類中關(guān)于計算半徑、周長和圓心的這些方 法。這樣,不但可以確認設(shè)計的正確性,還可以幫助理解各個類之間的協(xié)作關(guān)系,從而達到更好的設(shè)計目的。 圖 發(fā)票 一旦確定了系統(tǒng)需要構(gòu)造的的類之后,接下來需要為每一個類定義行為。首先需要分析所面臨問題的結(jié)構(gòu)。 附錄 A 介紹了向量 vector。 《面 向 對 象 程 序 設(shè) 計》 課 程 設(shè) 計 指 導 書 劉 平 山 寧 黎 華 桂 林 電 子 科 技 大 學 目 錄 第一章 課程設(shè)計目標 本次課程設(shè)計的綜合訓練能幫助學生建立面向?qū)ο笏枷氲乃季S方式,加深對面向?qū)ο罄碚摵突局R的理解,掌握使用 C++語言進行面向?qū)ο蟪绦蛟O(shè)計的基本方法;培養(yǎng)學生利用面向?qū)ο蠹夹g(shù)解決實際問題的能力。 附錄 B 給出了課程設(shè)計報告的格式。在此基礎(chǔ)上,如果采用面向?qū)ο笤O(shè)計,則需要設(shè)計出所使用的類以及這些類的主要成員函數(shù)。換句話說,需要確定每個類需要什么樣的成員函數(shù),從而完成程序的功能。 需要注意的是,在 CRC 卡片上列出的職責都是高層的(即粗粒度的)。的確,這些方法在考慮一個圓形時是必須具備的。 圖 類圖中的屬性和方法 如果一個類的對象能操作另一個類的對象,則該類與另一個類關(guān)聯(lián)。例如, name 和 price就是類 Product 的屬性。將類 Tire和類 Vehicle設(shè)計成這種雙向關(guān)聯(lián)也許有些牽強,但是要考慮類 Employee 和類 Company 之間的關(guān)系,則是一個很好的雙向關(guān)聯(lián)關(guān)系的范例:即一個公司需要維護一個員工列表,而每名員工對象也應維護 一個指向?qū)镜闹羔?。但在此并不提倡花費精力對這幾個概念進行嚴格的區(qū)分。程序?qū)⒋蛴∑睋?jù)地址、產(chǎn)品項列表、合計 金額。即,在類 Invoice 的協(xié)作者一欄中添加類 Address 和類 Item: 作為發(fā)票的一部分,類 Invoice 還需要計算合計金額。在本例中不存在繼承關(guān)系,圖 顯示了發(fā)票類之間的關(guān)系。 實現(xiàn) 最后,可以開始實現(xiàn)這些類了。這樣就實現(xiàn)了一 個完整的程序。 060: Item(Product p, int q)。 i++) 104: cout 。 142: } 143: 144: void Address::print() const 145: { 146: cout name \n street \n 147: city , state zip \n。 191: 192: double amount_due = 0。 設(shè)計一個菜單程序 首先設(shè)計一個菜單程序,其設(shè)計要求如下: 1.菜單內(nèi)容 程序運行后,給出 4 個菜單項的內(nèi)容和輸入提示。 } } } 實際使用時,只有選擇 4,程序才能結(jié)束運行,這就要使用循環(huán)控制。 else break。 ( 2)在頭文件 中聲明類,在 文件中定義成員函數(shù)。 ( 3) 重載 Joseph()函數(shù)來求解出圈,是用函數(shù) game2()作為菜單項。 return。 void FindIt() { float a,b,c。 ()。 Joseph() 使用類的數(shù)組,其實就是利用順序存儲結(jié)構(gòu)求解。例如已經(jīng)知道人數(shù) length,產(chǎn)生向量數(shù)組 c 的方法如下: VectorSeqListc(length)。 //讓它指向 第一個元素 int length=()。i()。 //輸出出圈人的信息 cout,。 void Find()。 void Joseph(vectorSeqListamp。 cout\ \n。 x1=(bsqrt(d))/(2*a)。 endl。 cinm。k++) { j=0。ilength。 if(i==length) //返回到第一個位置 i=0。s too input another number:\n。 。 } else if (d==0) { x1=x2=(b)/(2*a)。 cout\ \n。 endif 2. include void main() { handle_menu()。 }。 i。 gets(s)。所以不能用它作為總的循環(huán)次數(shù)。仍然適用 num作為報數(shù)的依據(jù),在知道 length 之后,可以像下面那樣初始化向量數(shù)組: for(int i=0。假設(shè)建立類的數(shù)組 c,這時只能為數(shù)組 c 假設(shè)一個長度,實際的有效長度只有在給定人數(shù)之后才能知道。 } } 使用類和數(shù)組求解出圈順序的主要模塊設(shè)計如下: 1.設(shè)計類 這里要求使用名字,而在名字的 字符串中,可能存在空格。 endl。 return。 求解方程的主要模塊設(shè)計如下: FindRoot 為了方便,除了 將方程系數(shù)設(shè)為屬性之外,還將方程的根 x1 和x2,以及用來作為判定條件的 d(d=b*b4*a*c)均設(shè)計成類的屬性。 這其 實就是約瑟夫環(huán)游戲,只是做了一點修改而已。 } 語句“ =atoi(s)”是為了使輸入的字符串轉(zhuǎn)變?yōu)閿?shù)字,以便使switch 中的 case 語句對應數(shù)字 14?!?語句。下面是測試運行的例子: 1.解一元二次方程 2.出圈游戲 之一 3.出圈游戲之二 4.退出程序 選擇 14: 1 解一元二次方程 1.解一元二次方程 2.出圈游戲之一 3.出圈游戲之二 4.退出程序 選擇 14: 2 出圈游戲之一 1.解一元二次方程 2.出圈游戲之一 3.出圈游戲之二 4.退出程序
點擊復制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1