面向?qū)ο蟪绦蛟O(shè)計(jì)期末考試【c++】_第1頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)期末考試【c++】_第2頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)期末考試【c++】_第3頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)期末考試【c++】_第4頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)期末考試【c++】_第5頁(yè)
已閱讀5頁(yè),還剩95頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

一、請(qǐng)利用VisualC++編程完成以下題目。(每題8分,共32分)

1編寫一個(gè)程序,輸入三角形的三個(gè)邊的邊長(zhǎng),求三角形的面積。

2函數(shù)的參數(shù)傳遞方式有“單向值傳遞”、“按地址傳遞”和“引用傳遞”三種方式,請(qǐng)采用內(nèi)聯(lián)函數(shù)的方

法實(shí)現(xiàn)實(shí)參和形參的按地址傳遞。

3編寫一個(gè)SDI應(yīng)用程序SDIDraw,為應(yīng)用程序添加主菜單“我的菜單”,并添加“顯示文本”和“畫圖”

兩個(gè)菜單項(xiàng),編寫上述兩個(gè)菜單項(xiàng)的消息處理函數(shù),分別在客戶區(qū)顯示一行文本或畫一個(gè)圓。

4編寫一個(gè)對(duì)話框應(yīng)用程序CorButn,對(duì)話框中有兩個(gè)用于

選擇顏色模式的單選按鈕和3個(gè)用于選擇顏色的復(fù)選框,

只有在彩色模式下才能選擇3中不同的顏色的組合。對(duì)話

框運(yùn)行效果如右圖,當(dāng)用戶單擊“應(yīng)用”按鈕,對(duì)話框右

邊的按鍵按鈕根據(jù)選擇的顏色實(shí)現(xiàn)按鈕的自畫。

二、請(qǐng)用VisualC++按要求編寫下列程序。(每題12分,共48分)

1用指針作為函數(shù)參數(shù)編寫冒泡排序函數(shù):BubbleSort(int*pArray,intn),在主函數(shù)中以指針作為實(shí)參調(diào)用函

數(shù)BubbleSort(),從而對(duì)一個(gè)數(shù)組的元素進(jìn)行排序。

2設(shè)計(jì)一個(gè)日期類CDate,該類用于表示日期值(年、月、日)。要求除了能夠通過(guò)相應(yīng)的成員函數(shù)設(shè)置和

獲取日期值外,還能夠用友元函數(shù)實(shí)現(xiàn)將日期加一天的操作。

3定義矢量類型,給出平面上兩個(gè)矢量的加法和減法運(yùn)算。要求利用非成員函數(shù)重載運(yùn)算符“+”,利用成

員函數(shù)重載運(yùn)算符“一”。

4建立一個(gè)名為CTeacher的類,該類有以下成員變量:教師姓名、ID號(hào)、基本工資、獎(jiǎng)金、所得稅和實(shí)際

發(fā)放數(shù)。還有以下成員函數(shù):兩個(gè)構(gòu)造函數(shù),一個(gè)用于只初始化教師姓名和ID號(hào),一個(gè)用于初始化教師姓

名、ID號(hào)、基本工資、獎(jiǎng)金和所得稅;一個(gè)輸入基本工資、獎(jiǎng)金和所得稅的函數(shù);?個(gè)計(jì)算實(shí)際發(fā)放數(shù)的函

數(shù);一個(gè)輸出教師信息的函數(shù),兩個(gè)重載運(yùn)算符“+”,一個(gè)用于將其他教師的工資加到該教師(如該教師

替其他教師代課),一個(gè)函數(shù)用于將個(gè)數(shù)值加到該教師(如提高該教師的工資)。編寫主函數(shù),調(diào)用第一個(gè)

構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象并輸入其工資,再調(diào)用第二個(gè)構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象。最后分別計(jì)算兩個(gè)教

師的實(shí)際發(fā)放數(shù),在屏幕輸出,并編寫代碼驗(yàn)證兩個(gè)重載運(yùn)算符“+”的功能。

三、選做題:請(qǐng)?jiān)谝韵?題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)

1:編寫一個(gè)名為Hello的類SDK應(yīng)用程序,在HELP主菜單中添加菜單項(xiàng)Message,當(dāng)用戶執(zhí)行菜單項(xiàng)命令

Message后彈出信息對(duì)話框,顯示該菜單項(xiàng)的執(zhí)行次數(shù),提示:使用函數(shù)」toa()。

2:編寫一個(gè)SDI應(yīng)用程序,在“查看”主菜單中添加“等待光標(biāo)”菜單項(xiàng),執(zhí)行“等待光標(biāo)”菜單命令后

首先將光標(biāo)改為沙漏形,然后進(jìn)行2秒鐘左右的這種操作,最后將光標(biāo)回復(fù)原狀。

3:編寫一個(gè)SDI應(yīng)用程序,按照以下要求編程:(1)執(zhí)行“編輯I輸入數(shù)據(jù)⑴……”菜單命令打開(kāi)標(biāo)題為“輸

入數(shù)據(jù)”的對(duì)話框,通過(guò)該對(duì)話框輸入X和Y坐標(biāo)值,要求輸入值在100—400的范圍內(nèi);(2)在視圖類中

定義兩個(gè)成員變量,單擊對(duì)話框的“確定”按鈕時(shí)接收輸入數(shù)據(jù),并賦值給視圖對(duì)象的兩個(gè)成員變量,調(diào)用

Invalidate。函數(shù)刷新窗口:(3)在視圖類OnDraw()函數(shù)中添加代碼,畫出一條從當(dāng)前位置到輸入坐標(biāo)的直

線。

4:編寫一個(gè)應(yīng)用程序,在客戶區(qū)利用函數(shù)DrawText。顯示3行文本。

一、請(qǐng)利用VisualC++編程完成以下題目。(每題8分,共32分)

1從鍵盤輸入一個(gè)大寫字母,然后改用小寫字母在屏幕上輸出。

2一個(gè)程序山兩個(gè)C++源文件組成,在一個(gè)源文件中定義主函數(shù)main()并聲明一個(gè)外部整型變量n,在另

一個(gè)源文件中定義一個(gè)不帶參數(shù)的函數(shù)factorial(void),該函數(shù)用于計(jì)算變量n的階乘。編程在主函數(shù)main。中

輸入一個(gè)整數(shù)并求它的階乘。

3編寫一個(gè)SDI應(yīng)用程序SDIDraw,為應(yīng)用程序添加主菜單“我的菜單”,并添加“顯示文本”和“畫圖”

兩個(gè)菜單項(xiàng),編寫上述兩個(gè)菜單項(xiàng)的消息處理函數(shù),分別在客戶區(qū)顯示-行文本或畫一個(gè)圓。要求:顯示

文本后“顯示文本”菜單項(xiàng)處于不可用狀態(tài);當(dāng)畫一個(gè)圓后“畫圓”菜單項(xiàng)處于不可用狀態(tài)。其他情況下處

于可用狀態(tài)。

4假設(shè)已利用MFCAppWizard應(yīng)用程序向?qū)Ы⒘艘粋€(gè)名為Mysdi的單文檔應(yīng)用程序,在應(yīng)用程序中添加

標(biāo)題為“輸入半徑”的對(duì)話框資源和對(duì)應(yīng)的對(duì)話框類,在對(duì)話框資源中添加內(nèi)容為“請(qǐng)輸入半徑”的靜態(tài)文

本框控件和用于接收輸入的編輯框控件,并添加與控件關(guān)聯(lián)的成員變量。通過(guò)“編輯”菜單中的“輸入半徑

(D”打開(kāi)標(biāo)題為“輸入半徑對(duì)話框”,并根據(jù)輸入的半徑畫一個(gè)圓。

二、請(qǐng)用VisualC++按要求編寫下列程序。(每題12分,共48分)

1設(shè)計(jì)一個(gè)II期類CDate,該類用于表示日期值(年、月、日)。要求除了能夠通過(guò)相應(yīng)的成員函數(shù)設(shè)置和

獲取日期值外,還能夠?qū)崿F(xiàn)將日期加一天的操作。

2建立一個(gè)名為CStudent的類,該類有以下幾個(gè)私有成員變量:學(xué)生姓名、學(xué)號(hào)、性別和年齡。有一個(gè)成

員函數(shù):用于初始化學(xué)生姓名、學(xué)號(hào)、性別和年齡的構(gòu)造函數(shù)。還有一個(gè)用于輸出學(xué)生信息的友元函數(shù)。編

寫一個(gè)主函數(shù),聲明一個(gè)學(xué)生對(duì)象,然后調(diào)用友元函數(shù)在屏幕輸出學(xué)生信息。

3建立一個(gè)名為CTeacher的類,該類有以下成員變量:教師姓名、ID號(hào)、基本工資、獎(jiǎng)金、所得稅和實(shí)際

發(fā)放數(shù)。還有以下成員函數(shù):兩個(gè)構(gòu)造函數(shù),一個(gè)用于只初始化教師姓名和ID號(hào),一個(gè)用于初始化教師姓

名、ID號(hào)、基本工資、獎(jiǎng)金和所得稅;一個(gè)輸入基本工資、獎(jiǎng)金和所得稅的函數(shù);-個(gè)計(jì)算實(shí)際發(fā)放數(shù)的函

數(shù);一個(gè)輸出教師信息的函數(shù),兩個(gè)Add。成員函數(shù),一個(gè)用于將其他教師的工資加到該教師(如該教師替

其他教師代課),一個(gè)函數(shù)用于將一個(gè)數(shù)值加到該教師(如提高該教師的工資)。編寫主函數(shù),調(diào)用第一個(gè)構(gòu)

造函數(shù)聲明一個(gè)教師對(duì)象并輸入其工資,再調(diào)用第二個(gè)構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象。最后分別計(jì)算兩個(gè)教師

的實(shí)際發(fā)放數(shù),在屏幕輸出,并編寫代碼驗(yàn)證兩個(gè)Add()函數(shù)的功能。

4試編寫一個(gè)MDI應(yīng)用程序,在客戶區(qū)顯示文本串“歡迎使用VisualC++面向?qū)ο缶幊探坛獭?,要求從左?/p>

右滾動(dòng)顯示這行字。

三、選做題:請(qǐng)?jiān)谝韵?題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)

I:編寫一個(gè)名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時(shí)通過(guò)調(diào)用API函數(shù),以彈出一個(gè)提示信息對(duì)話框。

為程序添加鍵盤輸入消息WM_CHAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或x,并給出相應(yīng)的提示。

2:編寫一個(gè)自定義消息應(yīng)用程序,設(shè)置一個(gè)定時(shí)器,在WM_TIMER的消息處理函數(shù)中發(fā)送一個(gè)用戶自定義

消息,在對(duì)應(yīng)的自定義消息處理函數(shù)中以動(dòng)畫的形式旋轉(zhuǎn)顯示行文本。程序啟動(dòng)后當(dāng)用戶選擇“旋轉(zhuǎn)”菜

單命令時(shí)啟動(dòng)定時(shí)器以發(fā)送用戶自定義消息,在自定義消息處理函數(shù)中旋轉(zhuǎn)顯示一行文本。當(dāng)用戶選擇“停

止”菜單命令時(shí)停止旋轉(zhuǎn)顯示文本。

3:編寫一個(gè)SDI應(yīng)用程序,執(zhí)行某菜單命令時(shí)打開(kāi)一個(gè)對(duì)話框,通過(guò)該對(duì)話框輸入要顯示的字符串和坐標(biāo)

值,并單擊0K在視圖區(qū)指定位置顯示輸入的字符串。

4:編寫一個(gè)SDI應(yīng)用程序,為程序添加一個(gè)工具欄按鈕,當(dāng)單擊按鈕時(shí)彈出一個(gè)對(duì)話框。對(duì)話框中有3個(gè)

標(biāo)題為紅、綠、藍(lán)的復(fù)選框,當(dāng)用戶單擊“確定”按鈕,程序根據(jù)選擇的組合顏色在用戶區(qū)顯示?行文本。

一、請(qǐng)利用VisualC++編程完成以下題目。(每題8分,共32分)

1把華氏溫度轉(zhuǎn)換為攝氏溫度的計(jì)算公式是:c=(5/9)X(F—32)。編寫一個(gè)程序,用戶輸入一個(gè)華氏

溫度,程序輸出相應(yīng)的攝氏溫度。要求將32和5/9用戶const型變量表示。

2首先編寫一個(gè)選擇排序函數(shù),然后在主函數(shù)中調(diào)用排序函數(shù)對(duì)10個(gè)整數(shù)從小到大進(jìn)行排序。提示:采用

數(shù)組名作為函數(shù)參數(shù)。選擇排序:每一趟從待排序的序列中選出一個(gè)最小的數(shù)據(jù)。

3設(shè)計(jì)一個(gè)應(yīng)用程序,當(dāng)雙擊鼠標(biāo)后彈出一個(gè)信息框,顯示雙擊鼠標(biāo)的次數(shù)。

4假設(shè)已利用MFCAppWizard應(yīng)用程序向?qū)Ы⒘艘粋€(gè)名為Mysdi的單文檔應(yīng)用程序,在應(yīng)用程序中添加

標(biāo)題為“輸入半徑”的對(duì)話框資源和對(duì)應(yīng)的對(duì)話框類,在對(duì)話框資源中添加內(nèi)容為“請(qǐng)輸入半徑”的靜態(tài)文

本框控件和用于接收輸入的編輯框控件,并添加與控件關(guān)聯(lián)的成員變量。通過(guò)“編輯”菜單中的“輸入半徑

(I)”打開(kāi)標(biāo)題為“輸入半徑對(duì)話框”,并根據(jù)輸入的半徑畫一個(gè)圓。要求以非模態(tài)對(duì)話框形式實(shí)現(xiàn)繪圖功能。

二、請(qǐng)用VisualC++按要求編寫下列程序。(每題12分,共48分)

1建立一個(gè)名為CStudent的類,該類有以下幾個(gè)私有成員變量:學(xué)生姓名、學(xué)號(hào)、性別和年齡。還有以下

兩個(gè)成員函數(shù):一個(gè)用于初始化學(xué)生姓名、學(xué)號(hào)、性別和年齡的構(gòu)造函數(shù),一個(gè)用于輸出學(xué)生信息的函數(shù)。

編寫一個(gè)主函數(shù),聲明一個(gè)學(xué)生對(duì)象,然后調(diào)用成員函數(shù)在屏幕輸出學(xué)生信息。

2一個(gè)名為CPerson的類有以下屬性:姓名、身份證號(hào)、性別和年齡,請(qǐng)用C++語(yǔ)言定義這個(gè)類,并為上述

屬性定義相應(yīng)的方法。然后從CPerson類中派生出類CEmployee(雇員),派生類CEmployee增加了兩個(gè)新的

數(shù)據(jù)成員,分別用于表示部門和薪水。要求派生類CEmployee的構(gòu)造函數(shù)顯式調(diào)用基類CPerson的構(gòu)造函數(shù),

可根據(jù)需要為派生類增加新的成員函數(shù)。

3建立一個(gè)名為CTeacher的類,該類有以下成員變量:教師姓名、ID號(hào)、基本工資、獎(jiǎng)金、所得稅和實(shí)際

發(fā)放數(shù)。還有以下成員函數(shù):兩個(gè)構(gòu)造函數(shù),一個(gè)用于只初始化教師姓名和ID號(hào),一個(gè)用于初始化教師姓

名、ID號(hào)、基本工資、獎(jiǎng)金和所得稅;一個(gè)輸入基本工資、獎(jiǎng)金和所得稅的函數(shù);一個(gè)計(jì)算實(shí)際發(fā)放數(shù)的函

數(shù);一個(gè)輸出教師信息的函數(shù)。編寫主函數(shù),調(diào)用第一個(gè)構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象并輸入其工資,再調(diào)用

第二個(gè)構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象。最后分別計(jì)算兩個(gè)教師的實(shí)際發(fā)放數(shù),并在屏幕輸出。

4試編寫一個(gè)MDI應(yīng)用程序,在客戶區(qū)顯示文本串“歡迎使用VisualC++面向?qū)ο缶幊探坛獭?,要求從左?/p>

右滾動(dòng)顯示這行字。

三、選做題:請(qǐng)?jiān)谝韵?題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)

1:編寫一個(gè)SDI應(yīng)用程序,在“查看”主菜單中添加“等待光標(biāo)”菜單項(xiàng),執(zhí)行“等待光標(biāo)”菜單命令后

首先將光標(biāo)改為沙漏形,然后進(jìn)行2秒鐘左右的這種操作,最后將光標(biāo)回復(fù)原狀。

2:編寫一個(gè)名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時(shí)通過(guò)調(diào)用API函數(shù),以彈出一個(gè)提示信息對(duì)話框。

為程序添加鍵盤輸入消息WMJ2HAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或X,并給出相應(yīng)的提示。

3:編寫一個(gè)SDI應(yīng)用程序,執(zhí)行某菜單命令時(shí)打開(kāi)一個(gè)對(duì)話框,通過(guò)該對(duì)話框輸入要顯示的字符串和坐標(biāo)

值,并單擊0K在視圖區(qū)指定位置顯示輸入的字符串。

4:編寫一個(gè)應(yīng)用程序,在客戶區(qū)利用函數(shù)DrawText。顯示3行文本。

一、請(qǐng)利用VisualC++編程完成以下題目。(每題8分,共32分)

1編程求兩個(gè)復(fù)數(shù)的和。

2首先編寫以下函數(shù)聲明的函數(shù):voidswap(float*px,float*py),該函數(shù)用于交換兩個(gè)實(shí)型變量的

值,然后編寫一個(gè)主函數(shù)驗(yàn)證函數(shù)swap。功能。

3編寫一個(gè)對(duì)話框應(yīng)用程序,在對(duì)話框中顯示“HelloMFCDialog!”,并畫出一個(gè)橢圓。

4編寫一個(gè)基于對(duì)話框的程序StatText,單擊“統(tǒng)計(jì)文本行”打開(kāi)一個(gè)公共文件對(duì)話框,并統(tǒng)計(jì)在文件對(duì)話

框中所選擇文本文件的行數(shù)。

二、請(qǐng)用VisualC++按要求編寫下列程序。(每題12分,共48分)

1用函數(shù)重載形式編寫函數(shù)square。:求一個(gè)int型或double型參數(shù)的平方。

2建立一個(gè)CPoint類,該類有兩個(gè)私有成員變量x,y,表示點(diǎn)的坐標(biāo)。有一個(gè)構(gòu)造函數(shù)用于設(shè)置坐標(biāo),還有

兩個(gè)公有的成員函數(shù):分別用于獲取x和y的坐標(biāo)。山CPoint派生出CCircle類,派生類CCircle增加一個(gè)

私有成員變量用于表示半徑,并用派生類的構(gòu)造函數(shù)設(shè)置半徑,同時(shí)增加三個(gè)成員函數(shù):一個(gè)用于獲取半徑,

另兩個(gè)分別用于獲取圓外接正方形左上角的x坐標(biāo)和y坐標(biāo)。

3建立一個(gè)名為CStudent的類,該類有以下幾個(gè)私有成員變量:學(xué)生姓名、學(xué)號(hào)、性別和年齡。還有以下

兩個(gè)成員函數(shù):一個(gè)用于初始化學(xué)生姓名、學(xué)號(hào)、性別和年齡的構(gòu)造函數(shù),?個(gè)用于輸出學(xué)生信息的函數(shù)。

采用類繼承的方法,在派生的新類中增加幾個(gè)私有成員變量:高等數(shù)學(xué)、英語(yǔ)、操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)等4門

課的分?jǐn)?shù)和總成績(jī)。修改或重新定義以下成員函數(shù):用于初始化學(xué)生姓名、學(xué)號(hào)、性別、年齡和4門課分?jǐn)?shù)

的構(gòu)造函數(shù),輸入4門課分?jǐn)?shù)的函數(shù),計(jì)算學(xué)生總成績(jī)的函數(shù),輸出學(xué)生信息的函數(shù)。編寫一個(gè)主函數(shù),調(diào)

用繼承的構(gòu)造函數(shù)聲明一個(gè)學(xué)生對(duì)象并輸入其4門課的分?jǐn)?shù),再調(diào)用新增加的構(gòu)造函數(shù)聲明另一個(gè)學(xué)生對(duì)■象。

最后分別計(jì)算兩個(gè)學(xué)生的總分,并在屏幕輸出兩個(gè)學(xué)生的所有信息。

4試編寫一個(gè)MDI應(yīng)用程序,在客戶區(qū)顯示文本串“歡迎使用VisualC++面向?qū)ο缶幊探坛獭?,要求從左?/p>

右滾動(dòng)顯示這行字。

三、選做題:請(qǐng)?jiān)谝韵?題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)

1:編寫一個(gè)自定義消息應(yīng)用程序,設(shè)置一個(gè)定時(shí)器,在WM_TIMER的消息處理函數(shù)中發(fā)送一個(gè)用戶自定義

消息,在對(duì)應(yīng)的自定義消息處理函數(shù)中以動(dòng)畫的形式旋轉(zhuǎn)顯示一行文本。程序啟動(dòng)后當(dāng)用戶選擇“旋轉(zhuǎn)”菜

單命令時(shí)啟動(dòng)定時(shí)器以發(fā)送用戶自定義消息,在自定義消息處理函數(shù)中旋轉(zhuǎn)顯示一行文本。當(dāng)用戶選擇“停

止”菜單命令時(shí)停止旋轉(zhuǎn)顯示文本。

2:編寫一個(gè)SDI應(yīng)用程序,在“查看”主菜單中添加“等待光標(biāo)”菜單項(xiàng),執(zhí)行“等待光標(biāo)”菜單命令后

首先將光標(biāo)改為沙漏形,然后進(jìn)行2秒鐘左右的這種操作,最后將光標(biāo)回復(fù)原狀。

3:編寫一個(gè)SDI應(yīng)用程序,為程序添加一個(gè)工具欄按鈕,當(dāng)單擊按鈕時(shí)彈出一個(gè)對(duì)話框。對(duì)話框中有‘3個(gè)

標(biāo)題為紅、綠、藍(lán)的復(fù)選框,當(dāng)用戶單擊“確定''按鈕,程序根據(jù)選擇的組合顏色在用戶區(qū)顯示一行文本。

4:編寫一個(gè)SDI應(yīng)用程序,執(zhí)行某菜單命令時(shí)打開(kāi)一個(gè)對(duì)話框,通過(guò)該對(duì)話框輸入要顯示的字符串和坐標(biāo)

值,并單擊0K在視圖區(qū)指定位置顯示輸入的字符串。

一、請(qǐng)利用VisualC++編程完成以下題目。(每題8分,共32分)

1分別使用for語(yǔ)句、while語(yǔ)句、do-while語(yǔ)句編程求50以內(nèi)的自然數(shù)之和。

2輸入n個(gè)整數(shù),利用冒泡排序法將它們從小到大排序,并在屏幕上輸出。

3一個(gè)名為CPerson的類有以下屬性:姓名、身份證號(hào)、性別和年齡,請(qǐng)用C++語(yǔ)言定義這個(gè)類,并為上述

屬性定義相應(yīng)的方法。

4編寫一個(gè)SDI應(yīng)用程序Password,程序啟動(dòng)后首先彈出一個(gè)用戶身份確認(rèn)對(duì)話框,當(dāng)用戶鍵入正確口令

后才能進(jìn)入程序的主界面。

二、請(qǐng)用VisualC++按要求編寫下列程序。(每題12分,共48分)

1編寫一個(gè)函數(shù)模板:求三個(gè)數(shù)中的最大數(shù)。

2設(shè)計(jì)一個(gè)類Time(時(shí)間),該類用于表示時(shí)間值(時(shí)、分、秒)。要求能設(shè)置時(shí)間和輸出時(shí)間。再設(shè)計(jì)一

個(gè)日期類Date,該類用于表示日期值(年、月、日)。要求除了能夠通過(guò)相應(yīng)的成員函數(shù)設(shè)置和獲取日期值

外,還能夠?qū)崿F(xiàn)將日期加一天的操作。利用建立的H期類和時(shí)間類多重派生出日期時(shí)間類DateTime,并實(shí)現(xiàn)

日期和時(shí)間的設(shè)置和輸出。

3建立一個(gè)名為CStudent的類,該類有以下幾個(gè)私有成員變量:學(xué)生姓名、學(xué)號(hào)、性別、年齡和高等數(shù)學(xué)、

英語(yǔ)、操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)等4門課的分?jǐn)?shù)和總成績(jī)。還有以下成員函數(shù):用于初始化學(xué)生姓名、學(xué)號(hào)、性

別和年齡的構(gòu)造函數(shù),用于初始化學(xué)生姓名、學(xué)號(hào)、性別、年齡和4門課分?jǐn)?shù)的構(gòu)造函數(shù),輸入4門課分?jǐn)?shù)

的函數(shù),計(jì)算學(xué)生總成績(jī)的函數(shù),輸出學(xué)生信息的函數(shù)。編寫一個(gè)主函數(shù),調(diào)用第一個(gè)構(gòu)造函數(shù)聲明一個(gè)學(xué)

生對(duì)象并輸入其4門課的分?jǐn)?shù),再調(diào)用新增加的構(gòu)造函數(shù)聲明另一個(gè)學(xué)生對(duì)象。最后分別計(jì)算兩個(gè)學(xué)生的總

分,并在屏幕輸出兩個(gè)學(xué)生的所有信息。

4試編寫一個(gè)MDI應(yīng)用程序,在客戶區(qū)顯示文本串“歡迎使用VisualC++面向?qū)ο缶幊探坛獭?,要求從左?/p>

右滾動(dòng)顯示這行字。

三、選做題:請(qǐng)?jiān)谝韵?題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)

1:編寫一個(gè)名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時(shí)通過(guò)調(diào)用API函數(shù),以彈出一個(gè)提示信息對(duì)話框。

為程序添加鍵盤輸入消息WM_CHAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或x,并給出相應(yīng)的提示。

2:編寫一個(gè)名為Hello的類SDK應(yīng)用程序,在HELP主菜單中添加菜單項(xiàng)Message,當(dāng)用戶執(zhí)行菜單項(xiàng)命令

Message后彈出信息對(duì)話框,顯示該菜單項(xiàng)的執(zhí)行次數(shù),提示:使用函數(shù)」toa()。

3:編寫一個(gè)SDI應(yīng)用程序,為程序添加一個(gè)工具欄按鈕,當(dāng)單擊按鈕時(shí)彈出一個(gè)對(duì)話框。對(duì)話框中有3個(gè)

標(biāo)題為紅、綠、藍(lán)的復(fù)選框,當(dāng)用戶單擊“確定”按鈕,程序根據(jù)選擇的組合顏色在用戶區(qū)顯示一行文本。

4:編寫一個(gè)SDI應(yīng)用程序,按照以下要求編程:(1)執(zhí)行“編輯I輸入數(shù)據(jù)⑴……”菜單命令打開(kāi)標(biāo)題為“輸

入數(shù)據(jù)”的對(duì)話框,通過(guò)該對(duì)話框輸入X和Y坐標(biāo)值,要求輸入值在100—400的范圍內(nèi);(2)在視圖類中

定義兩個(gè)成員變量,單擊對(duì)話框的“確定”按鈕時(shí)接收輸入數(shù)據(jù),并賦值給視圖對(duì)象的兩個(gè)成員變量,調(diào)用

Invalidate。函數(shù)刷新窗口;(3)在視圖類OnDraw()函數(shù)中添加代碼,畫出一條從當(dāng)前位置到輸入坐標(biāo)的直

線。

一、請(qǐng)利用VisualC++編程完成以下題目。(每題8分,共32分)

1把華氏溫度轉(zhuǎn)換為攝氏溫度的計(jì)算公式是:c=(5/9)X(F—32)。編寫一個(gè)程序,用戶輸入?個(gè)華氏

溫度,程序輸出相應(yīng)的攝氏溫度。要求將32和5/9用戶const型變量表示。

2函數(shù)的參數(shù)傳遞方式有“單向值傳遞”、“按地址傳遞”和“引用傳遞”三種方式,請(qǐng)采用內(nèi)聯(lián)函數(shù)的方

法實(shí)現(xiàn)實(shí)參和形參的按地址傳遞。

3一個(gè)名為CPerson的類有以下屬性:姓名、身份證號(hào)、性別和年齡,請(qǐng)用C++語(yǔ)言定義這個(gè)類,并為上述

屬性定義相應(yīng)的方法。

4假設(shè)已利用MFCAppWizard應(yīng)用程序向?qū)Ы⒘艘粋€(gè)名為Mysdi的單文檔應(yīng)用程序,在應(yīng)用程序中添加

標(biāo)題為“輸入半徑”的對(duì)話框資源和對(duì)應(yīng)的對(duì)話框類,在對(duì)話框資源中添加內(nèi)容為“請(qǐng)輸入半徑”的靜態(tài)文

本框控件和用于接收輸入的編輯框控件。通過(guò)“編輯”菜單中的“輸入半徑(1)”打開(kāi)標(biāo)題為“輸入半徑對(duì)

話框”,并根據(jù)輸入的半徑畫一個(gè)圓。要求只向?qū)υ捒蛱砑涌丶?,不能添加與控件有關(guān)聯(lián)的成員變量。

二、請(qǐng)用VisualC++按要求編寫下列程序。(每題12分,共48分)

1編寫一個(gè)冒泡排序的函數(shù)模板,并利用它分別對(duì)血型和字符數(shù)據(jù)進(jìn)行排序。

2設(shè)類X分別派生出類Y和類乙類Y和類Z又共同派生出類W,請(qǐng)用虛基類方式定義這些類。要求為類

簡(jiǎn)單添加一些成員,并編寫main()函數(shù)進(jìn)行驗(yàn)證。

3首先定義類CPoint類,該類有兩個(gè)保護(hù)成員變量x,y,表示點(diǎn)的坐標(biāo)。有一個(gè)構(gòu)造函數(shù)用于設(shè)置坐標(biāo)并輸

出點(diǎn)坐標(biāo),一個(gè)析構(gòu)函數(shù),用于輸出點(diǎn)坐標(biāo)。由CPoint派生出CCircle類,派生類CCircle增加一個(gè)保護(hù)成

員變量用于表示半徑;并用派生類的構(gòu)造函數(shù)設(shè)置半徑和顯示點(diǎn)坐標(biāo)以及半徑;析構(gòu)函數(shù)用于顯示點(diǎn)坐標(biāo)以

及半徑。再由CCircle類派生出CCylinder類,派生類CCylinder增加一個(gè)保護(hù)成員變量用于表示高度;構(gòu)造

函數(shù)設(shè)置高度,并顯示高度、半徑和點(diǎn)坐標(biāo);析構(gòu)函數(shù)顯示高度、半徑利點(diǎn)坐標(biāo)。要求三個(gè)類的析構(gòu)函數(shù)采

用虛析構(gòu)函數(shù)來(lái)實(shí)現(xiàn),并編寫代碼驗(yàn)證所完成的功能。

4建立一個(gè)名為CTeacher的類,該類有以下成員變量:教師姓名、ID號(hào)、基本工資、獎(jiǎng)金、所得稅和實(shí)際

發(fā)放數(shù)。還有以下成員函數(shù):兩個(gè)構(gòu)造函數(shù),一個(gè)用于只初始化教師姓名和ID號(hào),一個(gè)用于初始化教師姓

名、ID號(hào)、基本工資、獎(jiǎng)金和所得稅;一個(gè)輸入基本工資、獎(jiǎng)金和所得稅的函數(shù);-個(gè)計(jì)算實(shí)際發(fā)放數(shù)的函

數(shù):一個(gè)輸出教師信息的函數(shù),兩個(gè)重載運(yùn)算符“+”,一個(gè)用于將其他教師的工資加到該教師(如該教師

替其他教師代課),?個(gè)函數(shù)用于將一個(gè)數(shù)值加到該教師(如提高該教師的工資)。編寫主函數(shù),調(diào)用第一個(gè)

構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象并輸入其工資,再調(diào)用第二個(gè)構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象。最后分別計(jì)算兩個(gè)教

師的實(shí)際發(fā)放數(shù),在屏幕輸出,并編寫代碼驗(yàn)證兩個(gè)重載運(yùn)算符“+”的功能。

三、選做題:請(qǐng)?jiān)谝韵?題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)

1:編寫一個(gè)名為Hello的類SDK應(yīng)用程序,在HELP主菜單中添加菜單項(xiàng)Message,當(dāng)用戶執(zhí)行菜單項(xiàng)命令

Message后彈出信息對(duì)話框,顯示該菜單項(xiàng)的執(zhí)行次數(shù),提示:使用函數(shù)」toa()。

2:編寫一個(gè)自定義消息應(yīng)用程序,設(shè)置一個(gè)定時(shí)器,在WMJIMER的消息處理函數(shù)中發(fā)送一個(gè)用戶自定義

消息,在對(duì)應(yīng)的自定義消息處理函數(shù)中以動(dòng)畫的形式旋轉(zhuǎn)顯示?行文本。程序啟動(dòng)后當(dāng)用戶選擇“旋轉(zhuǎn)”菜

單命令時(shí)啟動(dòng)定時(shí)器以發(fā)送用戶自定義消息,在自定義消息處理函數(shù)中旋轉(zhuǎn)顯示一行文本。當(dāng)用戶選擇“停

止”菜單命令時(shí)停止旋轉(zhuǎn)顯示文本。

3:編寫一個(gè)SDI應(yīng)用程序,按照以下要求編程:(1)執(zhí)行“編輯I輸入數(shù)據(jù)⑴……”菜單命令打開(kāi)標(biāo)題為“輸

入數(shù)據(jù)”的對(duì)話框,通過(guò)該為話框輸入X和Y坐標(biāo)值,要求輸入值在100—400的范圍內(nèi);(2)在視圖類中

定義兩個(gè)成員變量,單擊對(duì)話框的“確定”按鈕時(shí)接收輸入數(shù)據(jù),并賦值給視圖對(duì)象的兩個(gè)成員變量,調(diào)用

Invalidate。函數(shù)刷新窗口;(3)在視圖類OnDraw()函數(shù)中添加代碼,畫出?條從當(dāng)前位置到輸入坐標(biāo)的直

線。

4:編寫一?個(gè)SDI應(yīng)用程序,執(zhí)行某菜單命令時(shí)打開(kāi)一個(gè)對(duì)話框,通過(guò)該對(duì)話框輸入要顯示的字符串和坐標(biāo)

值,并單擊0K在視圖區(qū)指定位置顯示輸入的字符串。

一、請(qǐng)利用VisualC++編程完成以下題目。(每題8分,共32分)

1編程求兩個(gè)復(fù)數(shù)的和。

2一個(gè)程序由兩個(gè)C++源文件組成,在一個(gè)源文件中定義主函數(shù)main()并聲明一個(gè)外部整型變量n,在另

一個(gè)源文件中定義一個(gè)不帶參數(shù)的函數(shù)factorial(void),該函數(shù)用于計(jì)算變量n的階乘。編程在主函數(shù)main。中

輸入一個(gè)整數(shù)并求它的階乘。

3設(shè)計(jì)一個(gè)應(yīng)用程序,當(dāng)雙擊鼠標(biāo)后彈出一個(gè)信息框,顯示雙擊鼠標(biāo)的次數(shù)。

4編寫一個(gè)應(yīng)用程序MyCursor,程序運(yùn)行后,當(dāng)光標(biāo)移動(dòng)到客戶區(qū)時(shí)變?yōu)樽远x形狀。執(zhí)行菜單命令“查看

I系統(tǒng)光標(biāo)”打開(kāi)一個(gè)對(duì)話框,當(dāng)光標(biāo)移動(dòng)到一個(gè)對(duì)話框時(shí),光標(biāo)變?yōu)閃indows預(yù)定義的4個(gè)方向箭頭光標(biāo)。

二、請(qǐng)用VisualC++按要求編寫下列程序。(每題12分,共48分)

1編寫一個(gè)名為MyLine的程序,與Windows“畫圖”工具一樣,在利用鼠標(biāo)畫出一條直線時(shí),按住鼠標(biāo)左

鍵并拖拽,先畫出隨鼠標(biāo)移動(dòng)的直線,當(dāng)釋放左鍵后才真正畫出一條所需要的直線。要求實(shí)現(xiàn)窗口重繪功能。

2-個(gè)名為CPerson的類有以下屬性:姓名、身份證號(hào)、性別和年齡,請(qǐng)用C++語(yǔ)言定義這個(gè)類,并為上述

屬性定義相應(yīng)的方法。然后從CPerson類中派生出類CEmployee(雇員),派生類CEmployee增加了兩個(gè)新的

數(shù)據(jù)成員,分別用于表示部門和薪水。要求派生類CEmployee的構(gòu)造函數(shù)顯式調(diào)用基類CPerson的構(gòu)造函數(shù),

可根據(jù)需要為派生類增加新的成員函數(shù)。

3首先定義類CPoint類,該類有兩個(gè)保護(hù)成員變量x,y,表示點(diǎn)的坐標(biāo)。有一個(gè)構(gòu)造函數(shù)用于設(shè)置坐標(biāo)并輸

出點(diǎn)坐標(biāo),一個(gè)析構(gòu)函數(shù),用于輸出點(diǎn)坐標(biāo)。由CPoint派生出CCircle類,派生類CCircle增加一個(gè)保護(hù)成

員變量用于表示半徑;并用派生類的構(gòu)造函數(shù)設(shè)置半徑和顯示點(diǎn)坐標(biāo)以及半徑;析構(gòu)函數(shù)用于顯示點(diǎn)坐標(biāo)以

及半徑。再山CCircle類派生出CCylinder類,派生類CCylinder增加一個(gè)保護(hù)成員變量用于表示高度;構(gòu)造

函數(shù)設(shè)置高度,并顯示高度、半徑和點(diǎn)坐標(biāo);析構(gòu)函數(shù)顯示高度、半徑和點(diǎn)坐標(biāo)。為類CPoint、類CCircle

和類Cctlinder添加計(jì)算面積的成員函數(shù)Area。,要求函數(shù)Area。采用虛函數(shù)的形式,并通過(guò)基類指針調(diào)用虛

函數(shù)Area。。

4建立一個(gè)名為CTeacher的類,該類有以下成員變量:教師姓名、ID號(hào)、基本工資、獎(jiǎng)金、所得稅和實(shí)際

發(fā)放數(shù)。還有以下成員函數(shù):兩個(gè)構(gòu)造函數(shù),一個(gè)用于只初始化教師姓名和ID號(hào),一個(gè)用于初始化教師姓

名、ID號(hào)、基本工資、獎(jiǎng)金和所得稅;一個(gè)輸入基本工資、獎(jiǎng)金和所得稅的函數(shù);-個(gè)計(jì)算實(shí)際發(fā)放數(shù)的函

數(shù);一個(gè)輸出教師信息的函數(shù),兩個(gè)重載運(yùn)算符“+”,一個(gè)用于將其他教師的工資加到該教師(如該教師

替其他教師代課),一個(gè)函數(shù)用于將一個(gè)數(shù)值加到該教師(如提高該教師的工資)。編寫主函數(shù),調(diào)用第一個(gè)

構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象并輸入其工資,再調(diào)用第二個(gè)構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象。最后分別計(jì)算兩個(gè)教

師的實(shí)際發(fā)放數(shù),在屏幕輸HI,并編寫代碼驗(yàn)證兩個(gè)重載運(yùn)算符“+”的功能。

三、選做題:請(qǐng)?jiān)谝韵?題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)

1:編寫一個(gè)名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時(shí)通過(guò)調(diào)用API函數(shù),以彈出一個(gè)提示信息對(duì)話框。

為程序添加鍵盤輸入消息WMJ2HAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或X,并給出相應(yīng)的提示。

2:編寫一個(gè)自定義消息應(yīng)用程序,設(shè)置一個(gè)定時(shí)器,在WM_TIMER的消息處理函數(shù)中發(fā)送一個(gè)用戶自定義

消息,在對(duì)應(yīng)的自定義消息處理函數(shù)中以動(dòng)畫的形式旋轉(zhuǎn)顯示一行文本。程序啟動(dòng)后當(dāng)用戶選擇“旋轉(zhuǎn)”菜

單命令時(shí)啟動(dòng)定時(shí)器以發(fā)送用戶自定義消息,在自定義消息處理函數(shù)中旋轉(zhuǎn)顯示一行文本。當(dāng)用戶選擇“停

止”菜單命令時(shí)停止旋轉(zhuǎn)顯示文本。

3:編寫一個(gè)SDI應(yīng)用程序,按照以下要求編程:(1)執(zhí)行“編輯I輸入數(shù)據(jù)⑴……”菜單命令打開(kāi)標(biāo)題為“輸

入數(shù)據(jù)”的對(duì)話框,通過(guò)該對(duì)話框輸入X和Y坐標(biāo)值,要求輸入值在100—400的范圍內(nèi);(2)在視圖類中

定義兩個(gè)成員變量,單擊對(duì)話框的“確定”按鈕時(shí)接收輸入數(shù)據(jù),并賦值給視圖對(duì)象的兩個(gè)成員變量,調(diào)用

Invalidate。函數(shù)刷新窗口:(3)在視圖類OnDraw()函數(shù)中添加代碼,畫出一條從當(dāng)前位置到輸入坐標(biāo)的直

線。

4:編寫一個(gè)應(yīng)用程序,在客戶區(qū)利用函數(shù)DrawText()顯示3行文本。

一、請(qǐng)利用VisualC++編程完成以下題目。(每題8分,共32分)

1編寫一個(gè)程序,輸入三角形的三個(gè)邊的邊長(zhǎng),求三角形的面積。

2首先編寫一個(gè)選擇排序函數(shù),然后在主函數(shù)中調(diào)用排序函數(shù)對(duì)10個(gè)整數(shù)從小到大進(jìn)行排序。提示:采用

數(shù)組名作為函數(shù)參數(shù)。選擇排序:每一趟從待排序的序列中選出一個(gè)最小的數(shù)據(jù)。

3編寫一個(gè)對(duì)話框應(yīng)用程序,在對(duì)話框中顯示“HelloMFCDialog!”,并畫出一個(gè)橢圓。

4編寫一個(gè)SDI應(yīng)用程序,繪制不同風(fēng)格、寬度何顏色的直線。

二、請(qǐng)用VisualC++按要求編寫下列程序。(每題12分,共48分)

1用函數(shù)重載形式編寫函數(shù)square。:求一個(gè)int型或double型參數(shù)的平方。

2編寫一個(gè)函數(shù)模板:求三個(gè)數(shù)中的最大數(shù)。

3建立一個(gè)名為CTeacher的類,該類有以下成員變量:教師姓名、ID號(hào)、基本工資、獎(jiǎng)金、所得稅和實(shí)際

發(fā)放數(shù)。還有以下成員函數(shù):兩個(gè)構(gòu)造函數(shù),一個(gè)用于只初始化教師姓名和ID號(hào),-個(gè)用于初始化教師姓

名、ID號(hào)、基本工資、獎(jiǎng)金和所得稅;一個(gè)輸入基本工資、獎(jiǎng)金和所得稅的函數(shù);一個(gè)計(jì)算實(shí)際發(fā)放數(shù)的函

數(shù);一個(gè)輸出教師信息的函數(shù)。編寫主函數(shù),調(diào)用第一個(gè)構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象并輸入其工資,再調(diào)用

第二個(gè)構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象。最后分別計(jì)算兩個(gè)教師的實(shí)際發(fā)放數(shù),并在屏幕輸出。

4試編寫一個(gè)MDI應(yīng)用程序,在客戶區(qū)顯示文本串“歡迎使用VisualC++面向?qū)ο缶幊探坛獭?,要求從左?/p>

右滾動(dòng)顯示這行字。

三、選做題:請(qǐng)?jiān)谝韵?題中任選2題,用VisualC++按要求編寫程序.(每題10分,共20分)

1:編寫一個(gè)名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時(shí)通過(guò)調(diào)用API函數(shù),以彈出一個(gè)提示信息對(duì)話框。

為程序添加鍵盤輸入消息WM_CHAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或x,并給出相應(yīng)的提示。

2:編寫一個(gè)SDI應(yīng)用程序,在“查看”主菜單中添加“等待光標(biāo)”菜單項(xiàng),執(zhí)行“等待光標(biāo)”菜單命令后

首先將光標(biāo)改為沙漏形,然后進(jìn)行2秒鐘左右的這種操作,最后將光標(biāo)回復(fù)原狀。

3:編寫一個(gè)SDI應(yīng)用程序,為程序添加一個(gè)工具欄按鈕,當(dāng)單擊按鈕時(shí)彈出一個(gè)對(duì)話框。對(duì)話框中有3個(gè)

標(biāo)題為紅、綠、藍(lán)的復(fù)選框,當(dāng)用戶單擊“確定”按鈕,程序根據(jù)選擇的組合顏色在用戶區(qū)顯示一行文本。

4:編寫一個(gè)SDI應(yīng)用程序,按照以下要求編程:(1)執(zhí)行“編輯I輸入數(shù)據(jù)(I)……”菜單命令打開(kāi)標(biāo)題為“輸

入數(shù)據(jù)”的對(duì)話框,通過(guò)該對(duì)話框輸入X和Y坐標(biāo)值,要求輸入值在100—400的范圍內(nèi):(2)在視圖類中

定義兩個(gè)成員變量,單擊對(duì)話框的“確定”按鈕時(shí)接收輸入數(shù)據(jù),并賦值給視圖對(duì)象的兩個(gè)成員變量,調(diào)用

Invalidate。函數(shù)刷新窗口;(3)在視圖類OnDraw()函數(shù)中添加代碼,畫出一條從當(dāng)前位置到輸入坐標(biāo)的直

線。

一、請(qǐng)利用VisualC++編程完成以下題目。(每題8分,共32分)

1把華氏溫度轉(zhuǎn)換為攝氏溫度的計(jì)算公式是:c=(5/9)X(F—32)。編寫一個(gè)程序,用戶輸入一個(gè)華氏

溫度,程序輸出相應(yīng)的攝氏溫度。要求將32和5/9用戶const型變量表示。

2首先編寫以下函數(shù)聲明的函數(shù):voidswap(float*px,float*py),該函數(shù)用于交換兩個(gè)實(shí)型變量的

值,然后編寫一個(gè)主函數(shù)驗(yàn)證函數(shù)swap。功能。

3一個(gè)名為CPerson的類有以下屬性:姓名、身份證號(hào)、性別和年齡,請(qǐng)用C++語(yǔ)言定義這個(gè)類,并為上述

屬性定義相應(yīng)的方法。

4編寫一個(gè)繪圖程序,利用CDC類的成員函數(shù)繪制像素點(diǎn)、五條折線、貝濟(jì)埃曲線、圓角矩形、橢圓弧、

扇形、弦形、五邊形等常見(jiàn)幾何圖形中的五種圖形。

二、請(qǐng)用VisualC++按要求編寫下列程序。(每題12分,共48分)

1設(shè)計(jì)一個(gè)日期類CDate,該類用于表示H期值(年、月、日)。要求除了能夠通過(guò)相應(yīng)的成員函數(shù)設(shè)置和

獲取日期值外,還能夠?qū)崿F(xiàn)將日期加一天的操作。

2編寫一個(gè)名為MyLine的程序,與Windows“畫圖”工具一樣,在利用鼠標(biāo)畫出一條直線時(shí),按住鼠標(biāo)左

鍵并拖拽,先畫出隨鼠標(biāo)移動(dòng)的直線,當(dāng)釋放左鍵后才真正畫出一條所需要的直線。要求實(shí)現(xiàn)窗口重繪功能

并能夠?qū)⒗L制好的圖像保存在磁盤上。

3設(shè)類X分別派生出類Y和類Z,類Y和類Z又共同派生出類W,請(qǐng)用虛基類方式定義這些類。要求為類

簡(jiǎn)單添加些成員,并編寫main()函數(shù)進(jìn)行驗(yàn)證。

4建立一個(gè)名為CTeacher的類,該類有以下成員變量:教師姓名、ID號(hào)、基本工資、獎(jiǎng)金、所得稅和實(shí)際

發(fā)放數(shù)。還有以下成員函數(shù):兩個(gè)構(gòu)造函數(shù),?個(gè)用于只初始化教師姓名和ID號(hào),一個(gè)用于初始化教師姓

名、ID號(hào)、基本工資、獎(jiǎng)金和所得稅;一個(gè)輸入基本工資、獎(jiǎng)金和所得稅的函數(shù);一個(gè)計(jì)算實(shí)際發(fā)放數(shù)的函

數(shù);?個(gè)輸出教師信息的函數(shù),兩個(gè)重裁運(yùn)算符“+”,一個(gè)用于將其他教師的工資加到該教師(如該教師

替其他教師代課),-個(gè)函數(shù)用于將一個(gè)數(shù)值加到該教師(如提高該教師的工資)。編寫主函數(shù),調(diào)用第一個(gè)

構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象并輸入其工資,再調(diào)用第二個(gè)構(gòu)造函數(shù)聲明一個(gè)教師對(duì)■象。最后分別計(jì)算兩個(gè)教

師的實(shí)際發(fā)放數(shù),在屏幕輸出,并編寫代碼驗(yàn)證兩個(gè)重載運(yùn)算符“十”的功能。

三、選做題:請(qǐng)?jiān)谝韵?題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)

1:編寫一個(gè)名為Hello的類SDK應(yīng)用程序,在HELP主菜單中添加菜單項(xiàng)Message,當(dāng)用戶執(zhí)行菜單項(xiàng)命令

Message后彈出信息對(duì)話框,顯示該菜單項(xiàng)的執(zhí)行次數(shù),提示:使用函數(shù)」toa()。

2:編寫一個(gè)名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時(shí)通過(guò)調(diào)用API函數(shù),以彈出一個(gè)提示信息對(duì)話框。

為程序添加鍵盤輸入消息WM_CHAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或x,并給出相應(yīng)的提示。

3:編寫一個(gè)SDI應(yīng)用程序,按照以下要求編程:(1)執(zhí)行“編輯I輸入數(shù)據(jù)⑴……”菜單命令打開(kāi)標(biāo)題為“輸

入數(shù)據(jù)”的對(duì)話框,通過(guò)該對(duì)話框輸入X和Y坐標(biāo)值,要求輸入值在100—400的范圍內(nèi);(2)在視圖類中

定義兩個(gè)成員變量,單擊對(duì)話框的“確定”按鈕時(shí)接收輸入數(shù)據(jù),并賦值給視圖對(duì)象的兩個(gè)成員變量,調(diào)用

Invalidate。函數(shù)刷新窗口;(3)在視圖類OnDraw()函數(shù)中添加代碼,畫出一條從當(dāng)前位置到輸入坐標(biāo)的直

線。

4:編寫一個(gè)SDI應(yīng)用程序,執(zhí)行某菜單命令時(shí)打開(kāi)一個(gè)對(duì)話框,通過(guò)該對(duì)話框輸入要顯示的字符串和坐標(biāo)

值,并單擊0K在視圖區(qū)指定位置顯示輸入的字符串。

一、請(qǐng)利用VisualC++編程完成以下題目。(每題8分,共32分)

1分別使用for語(yǔ)句、while語(yǔ)句、do-while語(yǔ)句編程求50以內(nèi)的自然數(shù)之和。

2函數(shù)的參數(shù)傳遞方式有“單向值傳遞”、“按地址傳遞”和“引用傳遞”三種方式,請(qǐng)采用內(nèi)聯(lián)函數(shù)的方

法實(shí)現(xiàn)實(shí)參和形參的按地址傳遞。

3編寫一個(gè)SDI應(yīng)用程序SDIDraw,為應(yīng)用程序添加主菜單“我的菜單”,并添加“顯示文本”和“畫圖”

兩個(gè)菜單項(xiàng),編寫上述兩個(gè)菜單項(xiàng)的消息處理函數(shù),分別在客戶區(qū)顯示一行文本或畫一個(gè)圓。要求:顯示

文本后“顯示文本”菜單項(xiàng)處于不可用狀態(tài);當(dāng)畫一個(gè)圓后“畫圓”菜單項(xiàng)處于不可用狀態(tài)。其他情況下處

于可用狀態(tài)。

4編寫一個(gè)應(yīng)用程序MyBMP,程序運(yùn)行后在客戶區(qū)顯示一幅位圖。

二、請(qǐng)用VisualC++按要求編寫下列程序。(每題12分,共48分)

1采用動(dòng)態(tài)內(nèi)存分配方法設(shè)計(jì)一個(gè)學(xué)生成績(jī)處理程序,要求輸入任意數(shù)量學(xué)生的學(xué)號(hào)、姓名和4門課的成

績(jī),并按平均成績(jī)高低輸出每個(gè)學(xué)生的姓名和成績(jī)。

2建立一個(gè)名為CStudent的類,該類有以下幾個(gè)私有成員變量:學(xué)生姓名、學(xué)號(hào)、性別和年齡。有以下兩

個(gè)成員函數(shù):一個(gè)用于初始化學(xué)生姓名、學(xué)號(hào)、性別和年齡的構(gòu)造函數(shù),一個(gè)用于輸出學(xué)生信息的函數(shù)。此

外還有一個(gè)靜態(tài)成員變量,用于表示已創(chuàng)建對(duì)象的數(shù)量;有兩個(gè)靜態(tài)成員函數(shù),一個(gè)用于輸出已創(chuàng)建對(duì)象的

數(shù)量,一個(gè)用于輸出一個(gè)學(xué)生的姓名和學(xué)號(hào)。編寫一個(gè)主函數(shù),聲明一個(gè)學(xué)生對(duì)象,然后調(diào)用成員函數(shù)在屏

幕輸出學(xué)生信息。

3設(shè)計(jì)一個(gè)日期類CDate,該類用于表示日期值(年、月、日)。要求除了能夠通過(guò)相應(yīng)的成員函數(shù)設(shè)置和

獲取日期值外,還能夠用重載運(yùn)算符“++”的方法實(shí)現(xiàn)將日期加一天的操作。

4建立一個(gè)名為CTeacher的類,該類有以下成員變量:教師姓名、ID號(hào)、基本工資、獎(jiǎng)金、所得稅和實(shí)際

發(fā)放數(shù)。還有以下成員函數(shù):兩個(gè)構(gòu)造函數(shù),?個(gè)用于只初始化教師姓名和ID號(hào),一個(gè)用于初始化教師姓

名、ID號(hào)、基本工資、獎(jiǎng)金和所得稅;一個(gè)輸入基本工資、獎(jiǎng)金和所得稅的函數(shù);一個(gè)計(jì)算實(shí)際發(fā)放數(shù)的函

數(shù);?個(gè)輸出教師信息的函數(shù),兩個(gè)重載運(yùn)算符“+”,一個(gè)用于將其他教師的工資加到該教師(如該教師

替其他教師代課),-個(gè)函數(shù)用于將一個(gè)數(shù)值加到該教師(如提高該教師的工資)。編寫主函數(shù),調(diào)用第一個(gè)

構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象并輸入其工資,再調(diào)用第二個(gè)構(gòu)造函數(shù)聲明一個(gè)教師對(duì)■象。最后分別計(jì)算兩個(gè)教

師的實(shí)際發(fā)放數(shù),在屏幕輸出,并編寫代碼驗(yàn)證兩個(gè)重載運(yùn)算符“十”的功能。

三、選做題:請(qǐng)?jiān)谝韵?題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)

1:編寫一個(gè)名為Hello的類SDK應(yīng)用程序,在HELP主菜單中添加菜單項(xiàng)Message,當(dāng)用戶執(zhí)行菜單項(xiàng)命令

Message后彈出信息對(duì)話框,顯示該菜單項(xiàng)的執(zhí)行次數(shù),提示:使用函數(shù)」toa()。

2:編寫一個(gè)自定義消息應(yīng)用程序,設(shè)置一個(gè)定時(shí)器,在WM_TIMER的消息處理函數(shù)中發(fā)送一個(gè)用戶自定義

消息,在對(duì)應(yīng)的自定義消息處理函數(shù)中以動(dòng)畫的形式旋轉(zhuǎn)顯示一行文本。程序啟動(dòng)后當(dāng)用戶選擇“旋轉(zhuǎn)”菜

單命令時(shí)啟動(dòng)定時(shí)器以發(fā)送用戶自定義消息,在自定義消息處理函數(shù)中旋轉(zhuǎn)顯示一行文本。當(dāng)用戶選擇“停

止”菜單命令時(shí)停止旋轉(zhuǎn)顯示文本。

3:編寫一個(gè)SDI應(yīng)用程序,按照以下要求編程:(1)執(zhí)行“編輯I輸入數(shù)據(jù)⑴……”菜單命令打開(kāi)標(biāo)題為“輸

入數(shù)據(jù)”的對(duì)話框,通過(guò)該對(duì)話框輸入X和Y坐標(biāo)值,要求輸入值在100—400的范圍內(nèi);(2)在視圖類中

定義兩個(gè)成員變量,單擊對(duì)話框的“確定”按鈕時(shí)接收輸入數(shù)據(jù),并賦值給視圖對(duì)象的兩個(gè)成員變量,調(diào)用

Invalidate。函數(shù)刷新窗口;(3)在視圖類OnDraw()函數(shù)中添加代碼,畫出一條從當(dāng)前位置到輸入坐標(biāo)的直

線。

4:編寫一個(gè)SDI應(yīng)用程序,為程序添加一個(gè)工具欄按鈕,當(dāng)單擊按鈕時(shí)彈出一個(gè)對(duì)話框。對(duì)話框中有3個(gè)

標(biāo)題為紅、綠、藍(lán)的復(fù)選框,當(dāng)用戶單擊“確定”按鈕,程序根據(jù)選擇的組合顏色在用戶區(qū)顯示一行文本。

一、請(qǐng)利用VisualC++編程完成以下題目。(每題8分,共32分)

1編寫一個(gè)程序,輸入三角形的三個(gè)邊的邊長(zhǎng),求三角形的面積。

2函數(shù)的參數(shù)傳遞方式有“單向值傳遞”、“按地址傳遞”和“引用傳遞”三種方式,請(qǐng)采用內(nèi)聯(lián)函數(shù)的方

法實(shí)現(xiàn)實(shí)參和形參的按地址傳遞。

3編寫一個(gè)SDI應(yīng)用程序SDIDraw,為應(yīng)用程序添加主菜單“我的菜單”,并添加“顯示文本”和“畫圖”

兩個(gè)菜單項(xiàng),編寫上述兩個(gè)菜單項(xiàng)的消息處理函數(shù),分別在客戶區(qū)顯示一行文本或畫一個(gè)圓。

使用技鈕帶件因

4編寫一個(gè)對(duì)話框應(yīng)用程序CorButn,對(duì)話框中有兩個(gè)用于

選擇顏色模式的單選按鈕和3個(gè)用于選擇顏色的復(fù)選框,

只有在彩色模式下才能選擇3中不同的顏色的組合。對(duì)話

框運(yùn)行效果如右圖,當(dāng)用戶單擊“應(yīng)用”按鈕,對(duì)話框右

邊的按鍵按鈕根據(jù)選擇的顏色實(shí)現(xiàn)按鈕的自畫。卜一…費(fèi)或.I竄清IsI

二、請(qǐng)用VisualC++按要求編寫下列程序。(每題12分,共48分)

1設(shè)計(jì)一個(gè)日期類CDate,該類用于表示日期值(年、月、日)。要求除了能夠通過(guò)相應(yīng)的成員函數(shù)設(shè)置和

獲取日期值外,還能夠?qū)崿F(xiàn)將日期加一天的操作。

2建立一個(gè)名為CStudent的類,該類有以下幾個(gè)私有成員變量:學(xué)生姓名、學(xué)號(hào)、性別和年齡。有一個(gè)成

員函數(shù):用于初始化學(xué)生姓名、學(xué)號(hào)、性別和年齡的構(gòu)造函數(shù)。還有一個(gè)用于輸出學(xué)生信息的友元函數(shù)。編

寫一個(gè)主函數(shù),聲明一個(gè)學(xué)生對(duì)象,然后調(diào)用友元函數(shù)在屏幕輸出學(xué)生信息。

3建立一個(gè)名為CTeacher的類,該類有以下成員變量:教師姓名、ID號(hào)、基本工資、獎(jiǎng)金、所得稅和實(shí)際

發(fā)放數(shù)。還有以下成員函數(shù):兩個(gè)構(gòu)造函數(shù),一個(gè)用于只初始化教師姓名和ID號(hào),一個(gè)用于初始化教師姓

名、ID號(hào)、基本工資、獎(jiǎng)金和所得稅;一個(gè)輸入基本工資、獎(jiǎng)金和所得稅的函數(shù);-個(gè)計(jì)算實(shí)際發(fā)放數(shù)的函

數(shù);一個(gè)輸出教師信息的函數(shù),兩個(gè)Add()成員函數(shù),?個(gè)用于將其他教師的工資加到該教師(如該教師替

其他教師代課),一個(gè)函數(shù)用于將一個(gè)數(shù)值加到該教師(如提高該教師的工資)。編寫主函數(shù),調(diào)用第一個(gè)構(gòu)

造函數(shù)聲明一個(gè)教師對(duì)象并輸入其工資,再調(diào)用第二個(gè)構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象。最后分別計(jì)算兩個(gè)教師

的實(shí)際發(fā)放數(shù),在屏幕輸出,并編寫代碼驗(yàn)證兩個(gè)Add()函數(shù)的功能。

4試編寫一個(gè)MDI應(yīng)用程序,在客戶區(qū)顯示文本串“歡迎使用VisualC++面向?qū)ο缶幊探坛獭?,要求從左?/p>

右滾動(dòng)顯示這行字。

三、選做題:請(qǐng)?jiān)谝韵?題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)

I:編寫一個(gè)名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時(shí)通過(guò)調(diào)用API函數(shù),以彈出一個(gè)提示信息對(duì)話框。

為程序添加鍵盤輸入消息WM_CHAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或x,并給出相應(yīng)的提示。

2:編寫一個(gè)自定義消息應(yīng)用程序,設(shè)置一個(gè)定時(shí)器,在WM_TIMER的消息處理函數(shù)中發(fā)送一個(gè)用戶自定義

消息,在對(duì)應(yīng)的自定義消息處理函數(shù)中以動(dòng)畫的形式旋轉(zhuǎn)顯示行文本。程序啟動(dòng)后當(dāng)用戶選擇“旋轉(zhuǎn)”菜

單命令時(shí)啟動(dòng)定時(shí)器以發(fā)送用戶自定義消息,在自定義消息處理函數(shù)中旋轉(zhuǎn)顯示一行文本。當(dāng)用戶選擇“停

止”菜單命令時(shí)停止旋轉(zhuǎn)顯示文本。

3:編寫一個(gè)SDI應(yīng)用程序,執(zhí)行某菜單命令時(shí)打開(kāi)一個(gè)對(duì)話框,通過(guò)該對(duì)話框輸入要顯示的字符串和坐標(biāo)

值,并單擊0K在視圖區(qū)指定位置顯示輸入的字符串。

4:編寫一個(gè)SDI應(yīng)用程序,為程序添加一個(gè)工具欄按鈕,當(dāng)單擊按鈕時(shí)彈出一個(gè)對(duì)話框。對(duì)話框中有3個(gè)

標(biāo)題為紅、綠、藍(lán)的復(fù)選框,當(dāng)用戶單擊“確定”按鈕,程序根據(jù)選擇的組合顏色在用戶區(qū)顯示一行文本。

一、請(qǐng)利用VisualC++編程完成以下題目。(每題8分,共32分)

1從鍵盤輸入一個(gè)大寫字母,然后改用小寫字母在屏幕上輸出。

2一個(gè)程序由兩個(gè)C++源文件組成,在一個(gè)源文件中定義主函數(shù)main()并聲明一個(gè)外部整型變量n,在另

一個(gè)源文件中定義一個(gè)不帶參數(shù)的函數(shù)factorial(void),該函數(shù)用于計(jì)算變量n的階乘。編程在主函數(shù)main。中

輸入一個(gè)整數(shù)并求它的階乘。

3編寫一個(gè)SDI應(yīng)用程序SDIDraw,為應(yīng)用程序添加主菜單“我的菜單”,并添加“顯示文本”和“畫圖”

兩個(gè)菜單項(xiàng),編寫上述兩個(gè)菜單項(xiàng)的消息處理函數(shù),分別在客戶區(qū)顯示一行文本或畫一個(gè)圓。要求:顯示

文本后“顯示文本”菜單項(xiàng)處于不可用狀態(tài):當(dāng)畫一個(gè)圓后“畫圓”菜單項(xiàng)處于不可用狀態(tài)。其他情況下處

于可用狀態(tài)。

4假設(shè)己利用MFCAppWizard應(yīng)用程序向?qū)Ы⒘艘粋€(gè)名為Mysdi的單文檔應(yīng)用程序,在應(yīng)用程序中添加

標(biāo)題為“輸入半徑”的對(duì)話框資源和對(duì)應(yīng)的對(duì)話框類,在對(duì)話框資源中添加內(nèi)容為“請(qǐng)輸入半徑”的靜態(tài)文

本框控件和用于接收輸入的編輯框控件,并添加與控件關(guān)聯(lián)的成員變量。通過(guò)“編輯”菜單中的“輸入半徑

(D”打開(kāi)標(biāo)題為“輸入半徑對(duì)話框”,并根據(jù)輸入的半徑畫一個(gè)圓。

二、請(qǐng)用VisualC++按要求編寫下列程序。(每題12分,共48分)

1建立一個(gè)名為CStudent的類,該類有以下幾個(gè)私有成員變量:學(xué)生姓名、學(xué)號(hào)、性別和年齡。還有以下

兩個(gè)成員函數(shù):一個(gè)用于初始化學(xué)生姓名、學(xué)號(hào)、性別和年齡的構(gòu)造函數(shù),一個(gè)用于輸出學(xué)生信息的函數(shù)。

編寫一個(gè)主函數(shù),聲明一個(gè)學(xué)生對(duì)象,然后調(diào)用成員函數(shù)在屏幕輸出學(xué)生信息。

2一個(gè)名為CPerson的類有以下屬性:姓名、身份證號(hào)、性別和年齡,請(qǐng)用C++語(yǔ)言定義這個(gè)類,并為上述

屬性定義相應(yīng)的方法。然后從CPerson類中派生出類CEmployee(雇員),派生類CEmployee增加了兩個(gè)新的

數(shù)據(jù)成員,分別用于表示部門和薪水。要求派生類CEmployee的構(gòu)造函數(shù)顯式調(diào)用基類CPerson的構(gòu)造函數(shù),

可根據(jù)需要為派生類增加新的成員函數(shù)。

3建立一個(gè)名為CTeacher的類,該類有以下成員變量:教師姓名、ID號(hào)、基本工資、獎(jiǎng)金、所得稅和實(shí)際

發(fā)放數(shù)。還有以下成員函數(shù):兩個(gè)構(gòu)造函數(shù),一個(gè)用于只初始化教師姓名和ID號(hào),一個(gè)用于初始化教師姓

名、ID號(hào)、基本工資、獎(jiǎng)金和所得稅;一個(gè)輸入基本工資、獎(jiǎng)金和所得稅的函數(shù);-個(gè)計(jì)算實(shí)際發(fā)放數(shù)的函

數(shù);?個(gè)輸出教師信息的函數(shù)。編寫主函數(shù),調(diào)用第一個(gè)構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象并輸入其工資,再調(diào)用

第二個(gè)構(gòu)造函數(shù)聲明一個(gè)教師對(duì)象。最后分別計(jì)算兩個(gè)教師的實(shí)際發(fā)放數(shù),并在屏幕輸出。

4試編寫一個(gè)MDI應(yīng)用程序,在客戶區(qū)顯示文本串“歡迎使用VisualC++面向?qū)ο缶幊探坛獭?,要求從左?/p>

右滾動(dòng)顯示這行字。

三、選做題:請(qǐng)?jiān)谝韵?題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)

1:編寫一個(gè)名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時(shí)通過(guò)調(diào)用API函數(shù),以彈出一個(gè)提示信息對(duì)話框。

為程序添加鍵盤輸入消息WM_CHAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或x,并給出相應(yīng)的提示。

2:編寫一個(gè)自定義消息應(yīng)用程序,設(shè)置一個(gè)定時(shí)器,在WMJIMER的消息處理函數(shù)中發(fā)送一個(gè)用戶自定義

消息,在對(duì)應(yīng)的自定義消息處理函數(shù)中以動(dòng)畫的形式旋轉(zhuǎn)顯示

溫馨提示

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

評(píng)論

0/150

提交評(píng)論