[計(jì)算機(jī)軟件及應(yīng)用]C實(shí)驗(yàn)報(bào)告11_第1頁
[計(jì)算機(jī)軟件及應(yīng)用]C實(shí)驗(yàn)報(bào)告11_第2頁
[計(jì)算機(jī)軟件及應(yīng)用]C實(shí)驗(yàn)報(bào)告11_第3頁
[計(jì)算機(jī)軟件及應(yīng)用]C實(shí)驗(yàn)報(bào)告11_第4頁
[計(jì)算機(jī)軟件及應(yīng)用]C實(shí)驗(yàn)報(bào)告11_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、巢湖學(xué)院計(jì)算機(jī)與信息工程學(xué)院 實(shí)驗(yàn)報(bào)告20 20 學(xué)年度第 學(xué)期 專業(yè)名稱: 班級名稱: 學(xué)生姓名: 學(xué)生學(xué)號: 指導(dǎo)教師: 巢湖學(xué)院計(jì)算機(jī)與信息工程學(xué)院巢湖學(xué)院實(shí)驗(yàn)教學(xué)中心2011年9月聯(lián)合監(jiān)制實(shí)驗(yàn)報(bào)告填寫要求每份實(shí)驗(yàn)報(bào)告必須包含以下幾個(gè)部分:1、實(shí)驗(yàn)名稱:如“實(shí)驗(yàn)一:匯編語言實(shí)驗(yàn)操作方法”;2、實(shí)驗(yàn)?zāi)康模郝裕?、實(shí)驗(yàn)內(nèi)容與要求:略;4、實(shí)驗(yàn)平臺(tái):如“windows xp操作系統(tǒng) 和 masm50集成實(shí)驗(yàn)環(huán)境”5、實(shí)驗(yàn)設(shè)計(jì)方案:簡述實(shí)驗(yàn)過程,程序設(shè)計(jì)實(shí)驗(yàn)要求畫出程序流程圖,并簡述各個(gè)模塊(函數(shù))的功能;6、實(shí)驗(yàn)結(jié)果分析:簡要敘述實(shí)驗(yàn)的運(yùn)行與測試結(jié)果;7、源程序代碼:必須詳細(xì)書寫源程序代碼;8

2、、實(shí)驗(yàn)啟發(fā):簡述本次實(shí)驗(yàn)的收獲和啟發(fā)(可以不寫); 實(shí)驗(yàn)一、 創(chuàng)建c+項(xiàng)目 實(shí)驗(yàn)時(shí)間 月 日,星期 ,第 節(jié);批閱時(shí)間 月 日實(shí)驗(yàn)成績【實(shí)驗(yàn)?zāi)康摹?、掌握創(chuàng)建c+項(xiàng)目的方法2、掌握c+程序的錄入、編譯和調(diào)試方法【實(shí)驗(yàn)內(nèi)容與要求】1、使用vc+6.0中創(chuàng)建一個(gè)工程2、編寫字符串的連接、復(fù)制、比較和求串長函數(shù),并編譯調(diào)試【實(shí)驗(yàn)平臺(tái)】windows xp、vc+6.0【實(shí)驗(yàn)原理及設(shè)計(jì)方案】1、在vc+6.0中創(chuàng)建一個(gè)win32控制臺(tái)應(yīng)用程序2、在工程中添加一個(gè)c+源文件3、錄入字符串的連接strcat、復(fù)制strcpy、比較strcmp和求串長strlen函數(shù)4、在主函數(shù)中調(diào)用上面的個(gè)函數(shù)5、編譯調(diào)

3、試并執(zhí)行【源程序代碼】【實(shí)驗(yàn)結(jié)果及分析】【實(shí)驗(yàn)啟發(fā)】 實(shí)驗(yàn)二、 指針和鏈表 實(shí)驗(yàn)時(shí)間 月 日,星期 ,第 節(jié);批閱時(shí)間 月 日實(shí)驗(yàn)成績【實(shí)驗(yàn)?zāi)康摹?、掌握指針聲明和初始化2、掌握鏈表的建立、輸出、刪除結(jié)點(diǎn)、插入結(jié)點(diǎn)等操作【實(shí)驗(yàn)內(nèi)容與要求】1、編寫create函數(shù),建立一個(gè)動(dòng)態(tài)鏈表2、編寫print函數(shù),輸出各結(jié)點(diǎn)數(shù)據(jù)3、編寫del函數(shù),刪除鏈表中一個(gè)指定結(jié)點(diǎn)4、編寫insert函數(shù),向鏈表插入一個(gè)結(jié)點(diǎn)【實(shí)驗(yàn)平臺(tái)】windows xp、vc+6.0【實(shí)驗(yàn)原理及設(shè)計(jì)方案】1、首先聲明一個(gè)結(jié)構(gòu)體類型,包含學(xué)號num、姓名name、三門課成績score3、指向下一個(gè)結(jié)點(diǎn)的指針next;2、分別編寫cr

4、eate函數(shù)、print函數(shù)、del函數(shù)和insert函數(shù), 3、在主函數(shù)中調(diào)用這4個(gè)函數(shù),實(shí)現(xiàn)鏈表的建立、輸出、刪除和插入?!驹闯绦虼a】【實(shí)驗(yàn)結(jié)果及分析】【實(shí)驗(yàn)啟發(fā)】 實(shí)驗(yàn)三、 類和對象的聲明 實(shí)驗(yàn)時(shí)間 月 日,星期 ,第 節(jié);批閱時(shí)間 月 日實(shí)驗(yàn)成績【實(shí)驗(yàn)?zāi)康摹?、掌握類的聲明方法2、掌握對象的聲明,以及怎樣引用對象的成員【實(shí)驗(yàn)內(nèi)容與要求】定義一個(gè)time類,將數(shù)據(jù)成員設(shè)為私有,輸入、輸出功能由成員函數(shù)實(shí)現(xiàn),類的聲明放在time.h文件中,成員函數(shù)要在類外定義,放在time.cpp文件中。主函數(shù)放在main.cpp中?!緦?shí)驗(yàn)平臺(tái)】windows xp、vc+6.0【實(shí)驗(yàn)原理及設(shè)計(jì)方案】1

5、、先創(chuàng)建main.cpp文件,只放置一個(gè)主函數(shù);2、在工程中添加time類,添加私有數(shù)據(jù)成員hour、min、sec;再添加兩個(gè)成員函數(shù)set_time和show_time,用于輸入輸出時(shí)間3、在主函數(shù)中聲明一個(gè)對象t ,通過對象t引用它的成員函數(shù)輸入輸出時(shí)間【源程序代碼】【實(shí)驗(yàn)結(jié)果及分析】1、不能在類外訪問類的私有數(shù)據(jù),只能通過公有的成員函數(shù)來訪問2、必須通過對象來訪問類的成員3、把類的聲明和實(shí)現(xiàn)分別放在.h文件和.cpp文件中。【實(shí)驗(yàn)啟發(fā)】 實(shí)驗(yàn)四、 構(gòu)造函數(shù)和析構(gòu)函數(shù) 實(shí)驗(yàn)時(shí)間 月 日,星期 ,第 節(jié);批閱時(shí)間 月 日實(shí)驗(yàn)成績【實(shí)驗(yàn)?zāi)康摹?、掌握不帶參數(shù)以及帶1個(gè)、2個(gè)、3個(gè)參數(shù)的構(gòu)造函

6、數(shù)定義方法2、掌握析構(gòu)函數(shù)的定義方法3、注意觀察構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用次序【實(shí)驗(yàn)內(nèi)容與要求】聲明一個(gè)類,要求包含:1、不帶參數(shù)的構(gòu)造函數(shù)2、分別帶1個(gè)、2個(gè)、3個(gè)參數(shù)的構(gòu)造函數(shù)3、復(fù)制構(gòu)造函數(shù)4、析構(gòu)函數(shù)【實(shí)驗(yàn)平臺(tái)】windows xp、vc+6.0【實(shí)驗(yàn)原理及設(shè)計(jì)方案】聲明一個(gè)date類,分別定義5個(gè)構(gòu)造函數(shù)和一個(gè)析構(gòu)函數(shù),并定義一個(gè)display函數(shù)用于輸出日期,然后在主函數(shù)中分別使用上面5個(gè)構(gòu)造函數(shù)創(chuàng)建5個(gè)對象,并輸入日期?!驹闯绦虼a】【實(shí)驗(yàn)結(jié)果及分析】構(gòu)造函數(shù)沒有返回類型,但它可能有參數(shù),可以被重載,它是創(chuàng)建對象時(shí)被自動(dòng)調(diào)用的。析構(gòu)函數(shù)沒有參數(shù),不能被重載,它是在撤銷一個(gè)對象之前自

7、動(dòng)被調(diào)用。一般來說,對象的構(gòu)造次序和析構(gòu)次序相反?!緦?shí)驗(yàn)啟發(fā)】 實(shí)驗(yàn)五、 靜態(tài)成員和友員 實(shí)驗(yàn)時(shí)間 月 日,星期 ,第 節(jié);批閱時(shí)間 月 日實(shí)驗(yàn)成績【實(shí)驗(yàn)?zāi)康摹?、 掌握靜態(tài)成員變量的定義、初始化和引用方法2、 掌握靜態(tài)成員函數(shù)的定義和調(diào)用方法3、 掌握把普通函數(shù)聲明為友元的方法4、 掌握把類的成員函數(shù)聲明為友元的方法【實(shí)驗(yàn)內(nèi)容與要求】1、某商店銷售某一商品,請編寫程序計(jì)算當(dāng)日此商品的總銷售款sum以及每件商品的平均售價(jià)。2、分別定義time和date類,將函數(shù)display聲明為友元,在主函數(shù)中調(diào)用display函數(shù),引用上述兩個(gè)類的私有數(shù)據(jù)。3、將time類聲明為date類的友元類,通過t

8、ime類中的display函數(shù)引用date類中的私有數(shù)據(jù)?!緦?shí)驗(yàn)平臺(tái)】windows xp、vc+6.0【實(shí)驗(yàn)原理及設(shè)計(jì)方案】1、首先聲明一個(gè)類,把銷貨員號num、銷貨件數(shù)quantity、銷貨單價(jià)price聲明為私有數(shù)據(jù)成員,再將折扣discount、總銷售款sum和商品銷售總件數(shù)n聲明為靜態(tài)數(shù)據(jù)成員,再定義靜態(tài)成員函數(shù)average和display用于計(jì)算平均售價(jià)和輸出結(jié)果。2、定義time和date類,再定義函數(shù)display,將函數(shù)display聲明為time類和date類的友元,最后在主函數(shù)中調(diào)用display函數(shù),引用上述兩個(gè)類的私有數(shù)據(jù)。3、將time類聲明為date類的友元類,

9、通過time類中的display函數(shù)引用date類中的私有數(shù)據(jù)。【源程序代碼】【實(shí)驗(yàn)結(jié)果及分析】1、靜態(tài)數(shù)據(jù)成員不只屬于某個(gè)對象,所有對象都可以引用它;它只能在類外進(jìn)行初始化;它既可以通過對象名引用,也可以通過類名來引用;2、靜態(tài)成員函數(shù)沒有this指針,因此不能訪問非靜態(tài)成員,可以用來訪問靜態(tài)數(shù)據(jù)成員。3、友元既可以是普通函數(shù),也可以是另外一個(gè)類的成員函數(shù),甚至可以把另一個(gè)類聲明為友元。【實(shí)驗(yàn)啟發(fā)】 實(shí)驗(yàn)六、 重載運(yùn)算符 實(shí)驗(yàn)時(shí)間 月 日,星期 ,第 節(jié);批閱時(shí)間 月 日實(shí)驗(yàn)成績【實(shí)驗(yàn)?zāi)康摹?、掌握一元運(yùn)算符、二元運(yùn)算符的重載方法2、掌握流輸入輸出運(yùn)算符的重載方法【實(shí)驗(yàn)內(nèi)容與要求】定義復(fù)數(shù)類

10、complex,重載以下運(yùn)算符:1、+、*、/2、前置+和后置+3、流插入運(yùn)算符【實(shí)驗(yàn)平臺(tái)】windows xp、vc+6.0【實(shí)驗(yàn)原理及設(shè)計(jì)方案】【源程序代碼】【實(shí)驗(yàn)結(jié)果及分析】【實(shí)驗(yàn)啟發(fā)】 實(shí)驗(yàn)七、 繼承與派生 實(shí)驗(yàn)時(shí)間 月 日,星期 ,第 節(jié);批閱時(shí)間 月 日實(shí)驗(yàn)成績【實(shí)驗(yàn)?zāi)康摹?、掌握派生類的聲明方式2、掌握派生類構(gòu)造函數(shù)的使用3、掌握派生類成員的引用方法【實(shí)驗(yàn)內(nèi)容與要求】聲明teacher類和cadre類,采用多重繼承方式由這兩個(gè)類派生出新類teacher_cadre類?!緦?shí)驗(yàn)平臺(tái)】windows xp、vc+6.0【實(shí)驗(yàn)原理及設(shè)計(jì)方案】1、先聲明teacher類,添加name、ag

11、e、sex、addr、tel和title數(shù)據(jù)成員,再添加構(gòu)造函數(shù)和display()函數(shù)2、再聲明cadre類,添加name、age、sex、addr、tel和post數(shù)據(jù)成員,再添加構(gòu)造函數(shù)3、由teacher類和cadre類派生teacher_cadre類,添加數(shù)據(jù)成員wages,再添加構(gòu)造函數(shù)和show()函數(shù)4、在主函數(shù)中用teacher_cadre類定義一個(gè)對象,調(diào)用show()函數(shù)輸出信息【源程序代碼】【實(shí)驗(yàn)結(jié)果及分析】1、對兩個(gè)基類中的數(shù)據(jù)成員用相同名字時(shí),在引用數(shù)據(jù)成員時(shí),要指定作用域,如:teacher:name、cadre:name等。2、在子類的構(gòu)造函數(shù)中調(diào)用基類的構(gòu)造函

12、數(shù)對基類初始化【實(shí)驗(yàn)啟發(fā)】 實(shí)驗(yàn)八、 多態(tài)與虛函數(shù) 實(shí)驗(yàn)時(shí)間 月 日,星期 ,第 節(jié);批閱時(shí)間 月 日實(shí)驗(yàn)成績【實(shí)驗(yàn)?zāi)康摹?、掌握虛函數(shù)的聲明和使用2、掌握如何用虛函數(shù)實(shí)現(xiàn)多態(tài)【實(shí)驗(yàn)內(nèi)容與要求】1. 編寫一個(gè)程序,聲明抽象基類shape,由它派生出3個(gè)派生類: circle(圓形)、rectangle(矩形)、triangle(三角形),用一個(gè)函數(shù)printarea分別輸出以上三者的面積,3個(gè)圖形的數(shù)據(jù)在定義對象時(shí)給定。【實(shí)驗(yàn)平臺(tái)】windows xp、vc+6.0【實(shí)驗(yàn)原理及設(shè)計(jì)方案】1、先聲明抽象類shape,只聲明一個(gè)純虛函數(shù)area2、定義3個(gè)派生類,分別定義構(gòu)造函數(shù),并實(shí)現(xiàn)area函

13、數(shù)3、聲明一個(gè)普通函數(shù)printarea,用shape類對象的引用作形參4、在主函數(shù)中分別聲明圓、矩形、三角形類的對象,用調(diào)用printarea函數(shù)輸出面積?!驹闯绦虼a】/定義抽象基類shapeclass shapepublic: virtual double area() const =0; /純虛函數(shù);/定義circle類class circle:public shapepublic:circle(double r):radius(r) /構(gòu)造函數(shù) virtual double area() const return 3.14159*radius*radius;protected: do

14、uble radius; /半徑;/定義rectangle類class rectangle:public shape/;/定義triangle類class triangle:public shape/;/輸出面積的函數(shù)void printarea(const shape &s)couts.area()endl; 【實(shí)驗(yàn)結(jié)果及分析】【實(shí)驗(yàn)啟發(fā)】 實(shí)驗(yàn)九、 創(chuàng)建win32應(yīng)用程序 實(shí)驗(yàn)時(shí)間 月 日,星期 ,第 節(jié);批閱時(shí)間 月 日實(shí)驗(yàn)成績【實(shí)驗(yàn)?zāi)康摹?、掌握創(chuàng)建win32應(yīng)用程序的方法2、掌握win32常用繪圖函數(shù)的使用【實(shí)驗(yàn)內(nèi)容與要求】創(chuàng)建win32應(yīng)用程序,使用繪圖函數(shù)繪制一運(yùn)動(dòng)的圓球。【實(shí)驗(yàn)

15、平臺(tái)】windowsxp、vc+6.0【實(shí)驗(yàn)原理及設(shè)計(jì)方案】1、啟動(dòng)vc+6.0,創(chuàng)建一個(gè)win32應(yīng)用程序,創(chuàng)建一個(gè)典型的“hello,world”工程;2、添加一個(gè)ball類,添加數(shù)據(jù)成員:坐標(biāo)x、y,速度vx、vy,半徑r;添加帶參數(shù)的構(gòu)造函數(shù),以及函數(shù)成員move、getx、gety、getr;3、在主程序里設(shè)置定時(shí)器:settimer(hwnd,1,100,myproc),并定義定時(shí)器處理程序myproc,其原型為:void callback myproc(hwnd, uint, uint_ptr, dword);4、在窗口過程里,繪制矩形和小圓,函數(shù)原型為:rectangle(hd

16、c hdc,int left,int top,int right,int bottom)ellipse(hdc hdc, int left,int top, int right, int bottom)5、刷新窗口:invalidaterect(hwnd hwnd,const rect *lprect,bool berase);【源程序代碼】【實(shí)驗(yàn)結(jié)果及分析】1、win32應(yīng)用程序入口函數(shù)是winmain2、窗口創(chuàng)建完畢,程序進(jìn)入主消息循環(huán),并由窗口過程wndproc處理消息;【實(shí)驗(yàn)啟發(fā)】 實(shí)驗(yàn)十、 創(chuàng)建win32項(xiàng)目(貼圖、鍵盤鼠標(biāo)消息) 略 實(shí)驗(yàn)時(shí)間 月 日,星期 ,第 節(jié);批閱時(shí)間 月

17、日實(shí)驗(yàn)成績【實(shí)驗(yàn)?zāi)康摹俊緦?shí)驗(yàn)內(nèi)容與要求】【實(shí)驗(yàn)平臺(tái)】【實(shí)驗(yàn)原理及設(shè)計(jì)方案】【源程序代碼】【實(shí)驗(yàn)結(jié)果及分析】【實(shí)驗(yàn)啟發(fā)】 實(shí)驗(yàn)十一、 小孩出列游戲 實(shí)驗(yàn)時(shí)間 月 日,星期 ,第 節(jié);批閱時(shí)間 月 日實(shí)驗(yàn)成績【實(shí)驗(yàn)?zāi)康摹?、掌握結(jié)構(gòu)體和指針的使用2、掌握鏈表的使用3、掌握類的定義和使用【實(shí)驗(yàn)內(nèi)容與要求】小孩出列游戲,也稱為joseph問題。一群小孩圍成一個(gè)圓圈,任意設(shè)定一個(gè)數(shù)m,從其中某個(gè)小孩開始,按順時(shí)針方向數(shù),每數(shù)到第m個(gè)小孩時(shí),該小孩就離開,游戲一直進(jìn)行到只剩最后一個(gè)小孩,該小孩便是游戲的勝者。要求:1、由用戶設(shè)置參加游戲的人數(shù)、以及從哪個(gè)人開始計(jì)數(shù)。2、循環(huán)顯示每次出列的小孩的編號,直到出

18、現(xiàn)勝利者為止?!緦?shí)驗(yàn)平臺(tái)】windows xp、vc+6.0【實(shí)驗(yàn)原理及設(shè)計(jì)方案】可以用一個(gè)類模擬小孩站成圓圈。類中必須包含的數(shù)據(jù)是用于描述圓圈的數(shù)據(jù)結(jié)構(gòu),可以使用鏈表結(jié)構(gòu)來描述。類中的數(shù)據(jù)成員就是表示鏈表結(jié)構(gòu)的指針等數(shù)據(jù)。鏈表中用每個(gè)結(jié)點(diǎn)代表一個(gè)小孩,每個(gè)結(jié)點(diǎn)是一個(gè)結(jié)構(gòu)體,結(jié)構(gòu)體中包括小孩的的編號及指向下一個(gè)小孩的指針?!驹闯绦虼a】【實(shí)驗(yàn)結(jié)果及分析】1、模擬圓圈結(jié)構(gòu),可以用數(shù)據(jù)鏈表結(jié)構(gòu),也可以用數(shù)組等其他方法實(shí)現(xiàn)。2、該例也可以不使用面向?qū)ο蟮姆椒▽?shí)現(xiàn),可以通過其他方法實(shí)現(xiàn)?!緦?shí)驗(yàn)啟發(fā)】 實(shí)驗(yàn)十二、 實(shí)驗(yàn)時(shí)間 月 日,星期 ,第 節(jié);批閱時(shí)間 月 日實(shí)驗(yàn)成績【實(shí)驗(yàn)?zāi)康摹俊緦?shí)驗(yàn)內(nèi)容與要求】【實(shí)驗(yàn)平臺(tái)】【實(shí)驗(yàn)原理及設(shè)計(jì)方案】【源程序代碼】【實(shí)驗(yàn)結(jié)果及分析】【實(shí)驗(yàn)啟發(fā)】 實(shí)驗(yàn)十三、 實(shí)驗(yàn)時(shí)間 月 日,星期 ,第 節(jié);批閱時(shí)間 月 日實(shí)驗(yàn)成績【實(shí)驗(yàn)?zāi)康摹俊緦?shí)驗(yàn)內(nèi)容與要求】【實(shí)驗(yàn)平臺(tái)】【實(shí)驗(yàn)原理及設(shè)計(jì)方案】【源程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論