版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、南昌大學面向對象程序設計實驗報告 南昌大學實驗報告學生姓名: 郭銀博 學 號: 5602211023 專業(yè)班級:自動化113班 實驗類型: 驗證 綜合 設計 創(chuàng)新 實驗日期: 實驗成績: 實驗一熟悉C+的上機環(huán)境一實驗目的1初步了解C+程序的編譯、連接和運行的過程。?2掌握和理解C+程序的結構。二實驗內(nèi)容1使用VC2運行一個簡單的C+程序?3編程求出對象中兩個數(shù)據(jù)的和與差三實驗環(huán)境PC微機;Windows?操作系統(tǒng);VC程序集成環(huán)境。四、實驗程序#includeclass Apublic:A()a=b=0;A(int a,int b)a=a;b=b;add(int a,int b)int c=
2、a+b; cout#include class Apublic:A(char * st);A()coutclass Rationalpublic:Rational(int d,int n)den=d;num=n;coutclass Apublic:A(int i,int j)a=i;b=j;void Move(int x,int y)a+=x;b+=y;void Show()coutclass Apublic:A()x=y=0; coutclass Apublic:A()ver=A; virtual void print() coutprint();void main()A a;D1 d1(4
3、);D2 d2(100);D3 d3(-25);print_info(&a);print_info(&d1);print_info(&d2);print_info(&d3);五、實驗結果分析:這個實驗是有關動態(tài)聯(lián)編內(nèi)容的,程序中開始定義了一個類A,又定義了一個類D1,它是對A的公有繼承,又定義一個類D2,也是對A的共有繼承,而累D3是對D1的公有繼承。每個類都有一個輸出函數(shù),同名同參數(shù)、同返回值,但是A類中說明為虛函數(shù),并且是通過一個函數(shù)(參數(shù)為A類指針),還滿足子類型關系,滿足了動態(tài)聯(lián)編的條件,這就說明為動態(tài)聯(lián)編。把程序輸進去,直至編譯沒有錯誤,運行,結果與分析結果一致。這就說明確實是采用的
4、動態(tài)聯(lián)編,根據(jù)調(diào)用的對象進行連接,就輸出對應實參的相關數(shù)據(jù)。通過書上幾個題目、上機以及老師講授,目前對靜態(tài)聯(lián)編和動態(tài)聯(lián)編搞的差不多了,不會很模糊了。 南昌大學實驗報告學生姓名: 郭銀博 學 號: 5602211023 專業(yè)班級:自動化113班 實驗類型: 驗證 綜合 設計 創(chuàng)新 實驗日期: 實驗成績: 實驗七 撲克牌游戲程序設計一、實驗目的:通過這個撲克牌游戲加深對c+的理解,學習函數(shù)封裝思想。二實驗內(nèi)容1使用VC2利用所給函數(shù),建立一個類,通過類編出一個程序實現(xiàn)撲克牌的發(fā)牌。三實驗環(huán)境PC微機;Windows?操作系統(tǒng);VC程序集成環(huán)境。四、實驗程序#include#include#incl
5、udeenum suit clubs, diamonds,hearts,spades;/花色枚舉typedef int pips;/牌數(shù)struct card suit s; pips p;struct deck card d52;class A public:void init()init_deck(deck1);void shuffle()shuffle(deck1);void deal()deal(52, 1, deck1.d, deck1);void print_deck()print_deck(deck1);void person();void A:everyone();pips a
6、ssign_pips(int n);suit assign_suit(int n);void assign(int n, card& c);void init_deck(deck& dk);pips get_pip(card c);suit get_suit(card c);void print_card(card c);void print_deck(deck& dk);void shuffle(deck& dk);void deal(int n, int pos, card* hand, deck& dk);private: deck deck1;pips A:assign_pips(in
7、t n)/發(fā)牌數(shù)字 return (n%13+1);suit A:assign_suit(int n)/發(fā)牌花色 return (static_cast(n/13);void A:assign(int n, card& c)/每人得到的牌 c.s= assign_suit(n); c.p= assign_pips(n);void A:init_deck(deck& dk)/初始化發(fā)牌 for (int i=0; i52;+i) assign(i, dk.di);pips A:get_pip(card c)/返回取得牌數(shù) return c.p;suit A:get_suit(card c)/返回
8、取得花色 return c.s;void A:print_card(card c)/輸出每張牌 coutc.p; switch(c.s) case clubs: coutC ; break;case diamonds: coutD ; break;case hearts: coutH ; break;case spades: coutS ; void A:print_deck(deck& dk)/一張一張輸出每個人(所有)的牌 for (int i=0; i52;+i) print_card(dk.di);void A:shuffle(deck& dk)/洗牌(交換兩張牌下標) card t;
9、 for (int i=0; i52;+i) int k=(rand()%(52-i); t=dk.di; dk.di= dk.dk; dk.dk=t; void A:deal(int n, int pos, card* hand, deck& dk)/發(fā)牌 for (int i=pos; ipos+n; +i) handi-pos=dk.di;void A:person()int n=0;for(int j=0;j13;j+)for(int i=0;i4,n+;i+)d1ji=deck1.dn;for(int m=0;m4;m+)for(int n=0;n13;n+)print_card(d
10、1nm);/cout第i個人的牌:d1ijendl;void A:everyone()int n=0;for(int i=0;i4;i+)cout第+i個人的牌:;i-;for(int j=13*i;j13*(i+1);j+)print_card(deck1.dj);coutendl;void main()A a;srand(time(NULL); / seed rand() from time()/struct deck1; a.init();a.shuffle();/for(int b;b12;b+)a.deal();a.print_deck();coutendl;a.everyone()
11、;五、實驗結果分析:這是一個比較綜合的實驗,利用這學期所學知識,編寫一個撲克牌游戲。之前所做實驗都是某一個知識點的運用,并且真正自己寫程序的很少,大多都是照書上寫完運行。而這個實驗要自己看懂,然后建立類,寫主函數(shù)。由于怕自己課上完不成,于是就課下先看了一下各個程序,讀懂它的作用以及實現(xiàn),并在各個程序后面進行了注釋。pips A:assign_pips(int n)/發(fā)牌數(shù)字suit A:assign_suit(int n)/發(fā)牌花色void A:assign(int n, card& c)/每人得到的牌void A:init_deck(deck& dk)/初始化發(fā)牌pips A:get_pip
12、(card c)/返回取得牌數(shù)suit A:get_suit(card c)/返回取得花色void A:print_card(card c)/輸出每張牌void A:print_deck(deck& dk)/一張一張輸出每個人(所有)的牌void A:shuffle(deck& dk)/洗牌(交換兩張牌下標)void A:deal(int n, int pos, card* hand, deck& dk)/發(fā)牌void A:everyone()/輸出發(fā)給每個人的牌上課后重新熟悉一下各個函數(shù),開始編程,遇到不少問題,就一次次地根據(jù)錯誤提示進行修改,程序在不斷減少,最后還有兩個錯誤,就是說成員函數(shù)的參數(shù)沒有定義,但是回去看,明明已經(jīng)定義了。在老師幫助下搞明白了,因為參數(shù)為類 的私有成員,根據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年黃山學院師資博士后招聘11名考試備考題庫及答案解析
- 2026吉林大學白求恩第一醫(yī)院康復科招聘考試參考試題及答案解析
- 2026年上半年江蘇南通職業(yè)大學招聘高層次人才18人考試參考試題及答案解析
- 2026博州賽里木湖文化旅游投資集團有限公司招聘信息(1人)考試備考題庫及答案解析
- 2025下半年江西九江市國信項目管理咨詢有限責任公司人員招聘體檢考試參考試題及答案解析
- 2026年齊齊哈爾建華區(qū)消防大隊政府專職消防員招聘11人筆試備考題庫及答案解析
- 2026年河北建材職業(yè)技術學院高職單招職業(yè)適應性測試備考題庫帶答案解析
- 中兵勘察設計研究院有限公司2026校招考試參考試題及答案解析
- 2026年安徽水利水電職業(yè)技術學院單招綜合素質考試模擬試題帶答案解析
- 2026年春季學期廣東廣州市天河區(qū)同仁天興學校招聘4人筆試備考試題及答案解析
- 非遺傳承人激勵機制探索-深度研究
- 中小學校園中匹克球推廣策略與實踐研究
- 2024年世界職業(yè)院校技能大賽高職組“體育活動設計與實施組”賽項考試題庫(含答案)
- 高中地理選擇性必修一(湘教版)期末檢測卷02(原卷版)
- 滬教版九年級化學上冊(上海版)全套講義
- 三角函數(shù)圖像變化課件
- 《內(nèi)存條知識培訓》課件
- 人教版(2024)七年級地理期末復習必背考點提綱
- 廣東省深圳市南山區(qū)2023-2024學年四年級上學期數(shù)學期末教學質量監(jiān)測試卷
- 【MOOC】生物化學與分子生物學-華中科技大學 中國大學慕課MOOC答案
- 幼兒園小班美術《雪花飄飄》課件
評論
0/150
提交評論