




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
一、請利用VisualC++編程完成以下題目。(每題8分,共32分)
1編寫一個程序,輸入三角形的三個邊的邊長,求三角形的面積。
2函數(shù)的參數(shù)傳遞方式有“單向值傳遞”、“按地址傳遞”和“引用傳遞”三種方式,請采用內(nèi)聯(lián)函數(shù)的方
法實現(xiàn)實參和形參的按地址傳遞。
3編寫一個SDI應(yīng)用程序SDIDraw,為應(yīng)用程序添加主菜單“我的菜單”,并添加“顯示文本”和“畫圖”
兩個菜單項,編寫上述兩個菜單項的消息處理函數(shù),分別在客戶區(qū)顯示一行文本或畫一個圓。
4編寫一個對話框應(yīng)用程序CorButn,對話框中有兩個用于
選擇顏色模式的單選按鈕和3個用于選擇顏色的復(fù)選框,
只有在彩色模式下才能選擇3中不同的顏色的組合。對話
框運行效果如右圖,當(dāng)用戶單擊“應(yīng)用”按鈕,對話框右
邊的按鍵按鈕根據(jù)選擇的顏色實現(xiàn)按鈕的自畫。
二、請用VisualC++按要求編寫下列程序。(每題12分,共48分)
1用指針作為函數(shù)參數(shù)編寫冒泡排序函數(shù):BubbleSort(int*pArray,intn),在主函數(shù)中以指針作為實參調(diào)用函
數(shù)BubbleSort(),從而對一個數(shù)組的元素進行排序。
2設(shè)計一個日期類CDate,該類用于表示日期值(年、月、日)。要求除了能夠通過相應(yīng)的成員函數(shù)設(shè)置和
獲取日期值外,還能夠用友元函數(shù)實現(xiàn)將日期加一天的操作。
3定義矢量類型,給出平面上兩個矢量的加法和減法運算。要求利用非成員函數(shù)重載運算符“+”,利用成
員函數(shù)重載運算符“一”。
4建立一個名為CTeacher的類,該類有以下成員變量:教師姓名、ID號、基本工資、獎金、所得稅和實際
發(fā)放數(shù)。還有以下成員函數(shù):兩個構(gòu)造函數(shù),一個用于只初始化教師姓名和ID號,一個用于初始化教師姓
名、ID號、基本工資、獎金和所得稅;一個輸入基本工資、獎金和所得稅的函數(shù);?個計算實際發(fā)放數(shù)的函
數(shù);一個輸出教師信息的函數(shù),兩個重載運算符“+”,一個用于將其他教師的工資加到該教師(如該教師
替其他教師代課),一個函數(shù)用于將個數(shù)值加到該教師(如提高該教師的工資)。編寫主函數(shù),調(diào)用第一個
構(gòu)造函數(shù)聲明一個教師對象并輸入其工資,再調(diào)用第二個構(gòu)造函數(shù)聲明一個教師對象。最后分別計算兩個教
師的實際發(fā)放數(shù),在屏幕輸出,并編寫代碼驗證兩個重載運算符“+”的功能。
三、選做題:請在以下4題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)
1:編寫一個名為Hello的類SDK應(yīng)用程序,在HELP主菜單中添加菜單項Message,當(dāng)用戶執(zhí)行菜單項命令
Message后彈出信息對話框,顯示該菜單項的執(zhí)行次數(shù),提示:使用函數(shù)」toa()。
2:編寫一個SDI應(yīng)用程序,在“查看”主菜單中添加“等待光標(biāo)”菜單項,執(zhí)行“等待光標(biāo)”菜單命令后
首先將光標(biāo)改為沙漏形,然后進行2秒鐘左右的這種操作,最后將光標(biāo)回復(fù)原狀。
3:編寫一個SDI應(yīng)用程序,按照以下要求編程:(1)執(zhí)行“編輯I輸入數(shù)據(jù)⑴……”菜單命令打開標(biāo)題為“輸
入數(shù)據(jù)”的對話框,通過該對話框輸入X和Y坐標(biāo)值,要求輸入值在100—400的范圍內(nèi);(2)在視圖類中
定義兩個成員變量,單擊對話框的“確定”按鈕時接收輸入數(shù)據(jù),并賦值給視圖對象的兩個成員變量,調(diào)用
Invalidate。函數(shù)刷新窗口:(3)在視圖類OnDraw()函數(shù)中添加代碼,畫出一條從當(dāng)前位置到輸入坐標(biāo)的直
線。
4:編寫一個應(yīng)用程序,在客戶區(qū)利用函數(shù)DrawText。顯示3行文本。
一、請利用VisualC++編程完成以下題目。(每題8分,共32分)
1從鍵盤輸入一個大寫字母,然后改用小寫字母在屏幕上輸出。
2一個程序山兩個C++源文件組成,在一個源文件中定義主函數(shù)main()并聲明一個外部整型變量n,在另
一個源文件中定義一個不帶參數(shù)的函數(shù)factorial(void),該函數(shù)用于計算變量n的階乘。編程在主函數(shù)main。中
輸入一個整數(shù)并求它的階乘。
3編寫一個SDI應(yīng)用程序SDIDraw,為應(yīng)用程序添加主菜單“我的菜單”,并添加“顯示文本”和“畫圖”
兩個菜單項,編寫上述兩個菜單項的消息處理函數(shù),分別在客戶區(qū)顯示-行文本或畫一個圓。要求:顯示
文本后“顯示文本”菜單項處于不可用狀態(tài);當(dāng)畫一個圓后“畫圓”菜單項處于不可用狀態(tài)。其他情況下處
于可用狀態(tài)。
4假設(shè)已利用MFCAppWizard應(yīng)用程序向?qū)Ы⒘艘粋€名為Mysdi的單文檔應(yīng)用程序,在應(yīng)用程序中添加
標(biāo)題為“輸入半徑”的對話框資源和對應(yīng)的對話框類,在對話框資源中添加內(nèi)容為“請輸入半徑”的靜態(tài)文
本框控件和用于接收輸入的編輯框控件,并添加與控件關(guān)聯(lián)的成員變量。通過“編輯”菜單中的“輸入半徑
(D”打開標(biāo)題為“輸入半徑對話框”,并根據(jù)輸入的半徑畫一個圓。
二、請用VisualC++按要求編寫下列程序。(每題12分,共48分)
1設(shè)計一個II期類CDate,該類用于表示日期值(年、月、日)。要求除了能夠通過相應(yīng)的成員函數(shù)設(shè)置和
獲取日期值外,還能夠?qū)崿F(xiàn)將日期加一天的操作。
2建立一個名為CStudent的類,該類有以下幾個私有成員變量:學(xué)生姓名、學(xué)號、性別和年齡。有一個成
員函數(shù):用于初始化學(xué)生姓名、學(xué)號、性別和年齡的構(gòu)造函數(shù)。還有一個用于輸出學(xué)生信息的友元函數(shù)。編
寫一個主函數(shù),聲明一個學(xué)生對象,然后調(diào)用友元函數(shù)在屏幕輸出學(xué)生信息。
3建立一個名為CTeacher的類,該類有以下成員變量:教師姓名、ID號、基本工資、獎金、所得稅和實際
發(fā)放數(shù)。還有以下成員函數(shù):兩個構(gòu)造函數(shù),一個用于只初始化教師姓名和ID號,一個用于初始化教師姓
名、ID號、基本工資、獎金和所得稅;一個輸入基本工資、獎金和所得稅的函數(shù);-個計算實際發(fā)放數(shù)的函
數(shù);一個輸出教師信息的函數(shù),兩個Add。成員函數(shù),一個用于將其他教師的工資加到該教師(如該教師替
其他教師代課),一個函數(shù)用于將一個數(shù)值加到該教師(如提高該教師的工資)。編寫主函數(shù),調(diào)用第一個構(gòu)
造函數(shù)聲明一個教師對象并輸入其工資,再調(diào)用第二個構(gòu)造函數(shù)聲明一個教師對象。最后分別計算兩個教師
的實際發(fā)放數(shù),在屏幕輸出,并編寫代碼驗證兩個Add()函數(shù)的功能。
4試編寫一個MDI應(yīng)用程序,在客戶區(qū)顯示文本串“歡迎使用VisualC++面向?qū)ο缶幊探坛獭?,要求從左?/p>
右滾動顯示這行字。
三、選做題:請在以下4題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)
I:編寫一個名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時通過調(diào)用API函數(shù),以彈出一個提示信息對話框。
為程序添加鍵盤輸入消息WM_CHAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或x,并給出相應(yīng)的提示。
2:編寫一個自定義消息應(yīng)用程序,設(shè)置一個定時器,在WM_TIMER的消息處理函數(shù)中發(fā)送一個用戶自定義
消息,在對應(yīng)的自定義消息處理函數(shù)中以動畫的形式旋轉(zhuǎn)顯示行文本。程序啟動后當(dāng)用戶選擇“旋轉(zhuǎn)”菜
單命令時啟動定時器以發(fā)送用戶自定義消息,在自定義消息處理函數(shù)中旋轉(zhuǎn)顯示一行文本。當(dāng)用戶選擇“停
止”菜單命令時停止旋轉(zhuǎn)顯示文本。
3:編寫一個SDI應(yīng)用程序,執(zhí)行某菜單命令時打開一個對話框,通過該對話框輸入要顯示的字符串和坐標(biāo)
值,并單擊0K在視圖區(qū)指定位置顯示輸入的字符串。
4:編寫一個SDI應(yīng)用程序,為程序添加一個工具欄按鈕,當(dāng)單擊按鈕時彈出一個對話框。對話框中有3個
標(biāo)題為紅、綠、藍的復(fù)選框,當(dāng)用戶單擊“確定”按鈕,程序根據(jù)選擇的組合顏色在用戶區(qū)顯示?行文本。
一、請利用VisualC++編程完成以下題目。(每題8分,共32分)
1把華氏溫度轉(zhuǎn)換為攝氏溫度的計算公式是:c=(5/9)X(F—32)。編寫一個程序,用戶輸入一個華氏
溫度,程序輸出相應(yīng)的攝氏溫度。要求將32和5/9用戶const型變量表示。
2首先編寫一個選擇排序函數(shù),然后在主函數(shù)中調(diào)用排序函數(shù)對10個整數(shù)從小到大進行排序。提示:采用
數(shù)組名作為函數(shù)參數(shù)。選擇排序:每一趟從待排序的序列中選出一個最小的數(shù)據(jù)。
3設(shè)計一個應(yīng)用程序,當(dāng)雙擊鼠標(biāo)后彈出一個信息框,顯示雙擊鼠標(biāo)的次數(shù)。
4假設(shè)已利用MFCAppWizard應(yīng)用程序向?qū)Ы⒘艘粋€名為Mysdi的單文檔應(yīng)用程序,在應(yīng)用程序中添加
標(biāo)題為“輸入半徑”的對話框資源和對應(yīng)的對話框類,在對話框資源中添加內(nèi)容為“請輸入半徑”的靜態(tài)文
本框控件和用于接收輸入的編輯框控件,并添加與控件關(guān)聯(lián)的成員變量。通過“編輯”菜單中的“輸入半徑
(I)”打開標(biāo)題為“輸入半徑對話框”,并根據(jù)輸入的半徑畫一個圓。要求以非模態(tài)對話框形式實現(xiàn)繪圖功能。
二、請用VisualC++按要求編寫下列程序。(每題12分,共48分)
1建立一個名為CStudent的類,該類有以下幾個私有成員變量:學(xué)生姓名、學(xué)號、性別和年齡。還有以下
兩個成員函數(shù):一個用于初始化學(xué)生姓名、學(xué)號、性別和年齡的構(gòu)造函數(shù),一個用于輸出學(xué)生信息的函數(shù)。
編寫一個主函數(shù),聲明一個學(xué)生對象,然后調(diào)用成員函數(shù)在屏幕輸出學(xué)生信息。
2一個名為CPerson的類有以下屬性:姓名、身份證號、性別和年齡,請用C++語言定義這個類,并為上述
屬性定義相應(yīng)的方法。然后從CPerson類中派生出類CEmployee(雇員),派生類CEmployee增加了兩個新的
數(shù)據(jù)成員,分別用于表示部門和薪水。要求派生類CEmployee的構(gòu)造函數(shù)顯式調(diào)用基類CPerson的構(gòu)造函數(shù),
可根據(jù)需要為派生類增加新的成員函數(shù)。
3建立一個名為CTeacher的類,該類有以下成員變量:教師姓名、ID號、基本工資、獎金、所得稅和實際
發(fā)放數(shù)。還有以下成員函數(shù):兩個構(gòu)造函數(shù),一個用于只初始化教師姓名和ID號,一個用于初始化教師姓
名、ID號、基本工資、獎金和所得稅;一個輸入基本工資、獎金和所得稅的函數(shù);一個計算實際發(fā)放數(shù)的函
數(shù);一個輸出教師信息的函數(shù)。編寫主函數(shù),調(diào)用第一個構(gòu)造函數(shù)聲明一個教師對象并輸入其工資,再調(diào)用
第二個構(gòu)造函數(shù)聲明一個教師對象。最后分別計算兩個教師的實際發(fā)放數(shù),并在屏幕輸出。
4試編寫一個MDI應(yīng)用程序,在客戶區(qū)顯示文本串“歡迎使用VisualC++面向?qū)ο缶幊探坛獭?,要求從左?/p>
右滾動顯示這行字。
三、選做題:請在以下4題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)
1:編寫一個SDI應(yīng)用程序,在“查看”主菜單中添加“等待光標(biāo)”菜單項,執(zhí)行“等待光標(biāo)”菜單命令后
首先將光標(biāo)改為沙漏形,然后進行2秒鐘左右的這種操作,最后將光標(biāo)回復(fù)原狀。
2:編寫一個名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時通過調(diào)用API函數(shù),以彈出一個提示信息對話框。
為程序添加鍵盤輸入消息WMJ2HAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或X,并給出相應(yīng)的提示。
3:編寫一個SDI應(yīng)用程序,執(zhí)行某菜單命令時打開一個對話框,通過該對話框輸入要顯示的字符串和坐標(biāo)
值,并單擊0K在視圖區(qū)指定位置顯示輸入的字符串。
4:編寫一個應(yīng)用程序,在客戶區(qū)利用函數(shù)DrawText。顯示3行文本。
一、請利用VisualC++編程完成以下題目。(每題8分,共32分)
1編程求兩個復(fù)數(shù)的和。
2首先編寫以下函數(shù)聲明的函數(shù):voidswap(float*px,float*py),該函數(shù)用于交換兩個實型變量的
值,然后編寫一個主函數(shù)驗證函數(shù)swap。功能。
3編寫一個對話框應(yīng)用程序,在對話框中顯示“HelloMFCDialog!”,并畫出一個橢圓。
4編寫一個基于對話框的程序StatText,單擊“統(tǒng)計文本行”打開一個公共文件對話框,并統(tǒng)計在文件對話
框中所選擇文本文件的行數(shù)。
二、請用VisualC++按要求編寫下列程序。(每題12分,共48分)
1用函數(shù)重載形式編寫函數(shù)square。:求一個int型或double型參數(shù)的平方。
2建立一個CPoint類,該類有兩個私有成員變量x,y,表示點的坐標(biāo)。有一個構(gòu)造函數(shù)用于設(shè)置坐標(biāo),還有
兩個公有的成員函數(shù):分別用于獲取x和y的坐標(biāo)。山CPoint派生出CCircle類,派生類CCircle增加一個
私有成員變量用于表示半徑,并用派生類的構(gòu)造函數(shù)設(shè)置半徑,同時增加三個成員函數(shù):一個用于獲取半徑,
另兩個分別用于獲取圓外接正方形左上角的x坐標(biāo)和y坐標(biāo)。
3建立一個名為CStudent的類,該類有以下幾個私有成員變量:學(xué)生姓名、學(xué)號、性別和年齡。還有以下
兩個成員函數(shù):一個用于初始化學(xué)生姓名、學(xué)號、性別和年齡的構(gòu)造函數(shù),?個用于輸出學(xué)生信息的函數(shù)。
采用類繼承的方法,在派生的新類中增加幾個私有成員變量:高等數(shù)學(xué)、英語、操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)等4門
課的分數(shù)和總成績。修改或重新定義以下成員函數(shù):用于初始化學(xué)生姓名、學(xué)號、性別、年齡和4門課分數(shù)
的構(gòu)造函數(shù),輸入4門課分數(shù)的函數(shù),計算學(xué)生總成績的函數(shù),輸出學(xué)生信息的函數(shù)。編寫一個主函數(shù),調(diào)
用繼承的構(gòu)造函數(shù)聲明一個學(xué)生對象并輸入其4門課的分數(shù),再調(diào)用新增加的構(gòu)造函數(shù)聲明另一個學(xué)生對■象。
最后分別計算兩個學(xué)生的總分,并在屏幕輸出兩個學(xué)生的所有信息。
4試編寫一個MDI應(yīng)用程序,在客戶區(qū)顯示文本串“歡迎使用VisualC++面向?qū)ο缶幊探坛獭保髲淖蟮?/p>
右滾動顯示這行字。
三、選做題:請在以下4題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)
1:編寫一個自定義消息應(yīng)用程序,設(shè)置一個定時器,在WM_TIMER的消息處理函數(shù)中發(fā)送一個用戶自定義
消息,在對應(yīng)的自定義消息處理函數(shù)中以動畫的形式旋轉(zhuǎn)顯示一行文本。程序啟動后當(dāng)用戶選擇“旋轉(zhuǎn)”菜
單命令時啟動定時器以發(fā)送用戶自定義消息,在自定義消息處理函數(shù)中旋轉(zhuǎn)顯示一行文本。當(dāng)用戶選擇“停
止”菜單命令時停止旋轉(zhuǎn)顯示文本。
2:編寫一個SDI應(yīng)用程序,在“查看”主菜單中添加“等待光標(biāo)”菜單項,執(zhí)行“等待光標(biāo)”菜單命令后
首先將光標(biāo)改為沙漏形,然后進行2秒鐘左右的這種操作,最后將光標(biāo)回復(fù)原狀。
3:編寫一個SDI應(yīng)用程序,為程序添加一個工具欄按鈕,當(dāng)單擊按鈕時彈出一個對話框。對話框中有‘3個
標(biāo)題為紅、綠、藍的復(fù)選框,當(dāng)用戶單擊“確定''按鈕,程序根據(jù)選擇的組合顏色在用戶區(qū)顯示一行文本。
4:編寫一個SDI應(yīng)用程序,執(zhí)行某菜單命令時打開一個對話框,通過該對話框輸入要顯示的字符串和坐標(biāo)
值,并單擊0K在視圖區(qū)指定位置顯示輸入的字符串。
一、請利用VisualC++編程完成以下題目。(每題8分,共32分)
1分別使用for語句、while語句、do-while語句編程求50以內(nèi)的自然數(shù)之和。
2輸入n個整數(shù),利用冒泡排序法將它們從小到大排序,并在屏幕上輸出。
3一個名為CPerson的類有以下屬性:姓名、身份證號、性別和年齡,請用C++語言定義這個類,并為上述
屬性定義相應(yīng)的方法。
4編寫一個SDI應(yīng)用程序Password,程序啟動后首先彈出一個用戶身份確認對話框,當(dāng)用戶鍵入正確口令
后才能進入程序的主界面。
二、請用VisualC++按要求編寫下列程序。(每題12分,共48分)
1編寫一個函數(shù)模板:求三個數(shù)中的最大數(shù)。
2設(shè)計一個類Time(時間),該類用于表示時間值(時、分、秒)。要求能設(shè)置時間和輸出時間。再設(shè)計一
個日期類Date,該類用于表示日期值(年、月、日)。要求除了能夠通過相應(yīng)的成員函數(shù)設(shè)置和獲取日期值
外,還能夠?qū)崿F(xiàn)將日期加一天的操作。利用建立的H期類和時間類多重派生出日期時間類DateTime,并實現(xiàn)
日期和時間的設(shè)置和輸出。
3建立一個名為CStudent的類,該類有以下幾個私有成員變量:學(xué)生姓名、學(xué)號、性別、年齡和高等數(shù)學(xué)、
英語、操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)等4門課的分數(shù)和總成績。還有以下成員函數(shù):用于初始化學(xué)生姓名、學(xué)號、性
別和年齡的構(gòu)造函數(shù),用于初始化學(xué)生姓名、學(xué)號、性別、年齡和4門課分數(shù)的構(gòu)造函數(shù),輸入4門課分數(shù)
的函數(shù),計算學(xué)生總成績的函數(shù),輸出學(xué)生信息的函數(shù)。編寫一個主函數(shù),調(diào)用第一個構(gòu)造函數(shù)聲明一個學(xué)
生對象并輸入其4門課的分數(shù),再調(diào)用新增加的構(gòu)造函數(shù)聲明另一個學(xué)生對象。最后分別計算兩個學(xué)生的總
分,并在屏幕輸出兩個學(xué)生的所有信息。
4試編寫一個MDI應(yīng)用程序,在客戶區(qū)顯示文本串“歡迎使用VisualC++面向?qū)ο缶幊探坛獭?,要求從左?/p>
右滾動顯示這行字。
三、選做題:請在以下4題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)
1:編寫一個名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時通過調(diào)用API函數(shù),以彈出一個提示信息對話框。
為程序添加鍵盤輸入消息WM_CHAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或x,并給出相應(yīng)的提示。
2:編寫一個名為Hello的類SDK應(yīng)用程序,在HELP主菜單中添加菜單項Message,當(dāng)用戶執(zhí)行菜單項命令
Message后彈出信息對話框,顯示該菜單項的執(zhí)行次數(shù),提示:使用函數(shù)」toa()。
3:編寫一個SDI應(yīng)用程序,為程序添加一個工具欄按鈕,當(dāng)單擊按鈕時彈出一個對話框。對話框中有3個
標(biāo)題為紅、綠、藍的復(fù)選框,當(dāng)用戶單擊“確定”按鈕,程序根據(jù)選擇的組合顏色在用戶區(qū)顯示一行文本。
4:編寫一個SDI應(yīng)用程序,按照以下要求編程:(1)執(zhí)行“編輯I輸入數(shù)據(jù)⑴……”菜單命令打開標(biāo)題為“輸
入數(shù)據(jù)”的對話框,通過該對話框輸入X和Y坐標(biāo)值,要求輸入值在100—400的范圍內(nèi);(2)在視圖類中
定義兩個成員變量,單擊對話框的“確定”按鈕時接收輸入數(shù)據(jù),并賦值給視圖對象的兩個成員變量,調(diào)用
Invalidate。函數(shù)刷新窗口;(3)在視圖類OnDraw()函數(shù)中添加代碼,畫出一條從當(dāng)前位置到輸入坐標(biāo)的直
線。
一、請利用VisualC++編程完成以下題目。(每題8分,共32分)
1把華氏溫度轉(zhuǎn)換為攝氏溫度的計算公式是:c=(5/9)X(F—32)。編寫一個程序,用戶輸入?個華氏
溫度,程序輸出相應(yīng)的攝氏溫度。要求將32和5/9用戶const型變量表示。
2函數(shù)的參數(shù)傳遞方式有“單向值傳遞”、“按地址傳遞”和“引用傳遞”三種方式,請采用內(nèi)聯(lián)函數(shù)的方
法實現(xiàn)實參和形參的按地址傳遞。
3一個名為CPerson的類有以下屬性:姓名、身份證號、性別和年齡,請用C++語言定義這個類,并為上述
屬性定義相應(yīng)的方法。
4假設(shè)已利用MFCAppWizard應(yīng)用程序向?qū)Ы⒘艘粋€名為Mysdi的單文檔應(yīng)用程序,在應(yīng)用程序中添加
標(biāo)題為“輸入半徑”的對話框資源和對應(yīng)的對話框類,在對話框資源中添加內(nèi)容為“請輸入半徑”的靜態(tài)文
本框控件和用于接收輸入的編輯框控件。通過“編輯”菜單中的“輸入半徑(1)”打開標(biāo)題為“輸入半徑對
話框”,并根據(jù)輸入的半徑畫一個圓。要求只向?qū)υ捒蛱砑涌丶荒芴砑优c控件有關(guān)聯(lián)的成員變量。
二、請用VisualC++按要求編寫下列程序。(每題12分,共48分)
1編寫一個冒泡排序的函數(shù)模板,并利用它分別對血型和字符數(shù)據(jù)進行排序。
2設(shè)類X分別派生出類Y和類乙類Y和類Z又共同派生出類W,請用虛基類方式定義這些類。要求為類
簡單添加一些成員,并編寫main()函數(shù)進行驗證。
3首先定義類CPoint類,該類有兩個保護成員變量x,y,表示點的坐標(biāo)。有一個構(gòu)造函數(shù)用于設(shè)置坐標(biāo)并輸
出點坐標(biāo),一個析構(gòu)函數(shù),用于輸出點坐標(biāo)。由CPoint派生出CCircle類,派生類CCircle增加一個保護成
員變量用于表示半徑;并用派生類的構(gòu)造函數(shù)設(shè)置半徑和顯示點坐標(biāo)以及半徑;析構(gòu)函數(shù)用于顯示點坐標(biāo)以
及半徑。再由CCircle類派生出CCylinder類,派生類CCylinder增加一個保護成員變量用于表示高度;構(gòu)造
函數(shù)設(shè)置高度,并顯示高度、半徑和點坐標(biāo);析構(gòu)函數(shù)顯示高度、半徑利點坐標(biāo)。要求三個類的析構(gòu)函數(shù)采
用虛析構(gòu)函數(shù)來實現(xiàn),并編寫代碼驗證所完成的功能。
4建立一個名為CTeacher的類,該類有以下成員變量:教師姓名、ID號、基本工資、獎金、所得稅和實際
發(fā)放數(shù)。還有以下成員函數(shù):兩個構(gòu)造函數(shù),一個用于只初始化教師姓名和ID號,一個用于初始化教師姓
名、ID號、基本工資、獎金和所得稅;一個輸入基本工資、獎金和所得稅的函數(shù);-個計算實際發(fā)放數(shù)的函
數(shù):一個輸出教師信息的函數(shù),兩個重載運算符“+”,一個用于將其他教師的工資加到該教師(如該教師
替其他教師代課),?個函數(shù)用于將一個數(shù)值加到該教師(如提高該教師的工資)。編寫主函數(shù),調(diào)用第一個
構(gòu)造函數(shù)聲明一個教師對象并輸入其工資,再調(diào)用第二個構(gòu)造函數(shù)聲明一個教師對象。最后分別計算兩個教
師的實際發(fā)放數(shù),在屏幕輸出,并編寫代碼驗證兩個重載運算符“+”的功能。
三、選做題:請在以下4題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)
1:編寫一個名為Hello的類SDK應(yīng)用程序,在HELP主菜單中添加菜單項Message,當(dāng)用戶執(zhí)行菜單項命令
Message后彈出信息對話框,顯示該菜單項的執(zhí)行次數(shù),提示:使用函數(shù)」toa()。
2:編寫一個自定義消息應(yīng)用程序,設(shè)置一個定時器,在WMJIMER的消息處理函數(shù)中發(fā)送一個用戶自定義
消息,在對應(yīng)的自定義消息處理函數(shù)中以動畫的形式旋轉(zhuǎn)顯示?行文本。程序啟動后當(dāng)用戶選擇“旋轉(zhuǎn)”菜
單命令時啟動定時器以發(fā)送用戶自定義消息,在自定義消息處理函數(shù)中旋轉(zhuǎn)顯示一行文本。當(dāng)用戶選擇“停
止”菜單命令時停止旋轉(zhuǎn)顯示文本。
3:編寫一個SDI應(yīng)用程序,按照以下要求編程:(1)執(zhí)行“編輯I輸入數(shù)據(jù)⑴……”菜單命令打開標(biāo)題為“輸
入數(shù)據(jù)”的對話框,通過該為話框輸入X和Y坐標(biāo)值,要求輸入值在100—400的范圍內(nèi);(2)在視圖類中
定義兩個成員變量,單擊對話框的“確定”按鈕時接收輸入數(shù)據(jù),并賦值給視圖對象的兩個成員變量,調(diào)用
Invalidate。函數(shù)刷新窗口;(3)在視圖類OnDraw()函數(shù)中添加代碼,畫出?條從當(dāng)前位置到輸入坐標(biāo)的直
線。
4:編寫一?個SDI應(yīng)用程序,執(zhí)行某菜單命令時打開一個對話框,通過該對話框輸入要顯示的字符串和坐標(biāo)
值,并單擊0K在視圖區(qū)指定位置顯示輸入的字符串。
一、請利用VisualC++編程完成以下題目。(每題8分,共32分)
1編程求兩個復(fù)數(shù)的和。
2一個程序由兩個C++源文件組成,在一個源文件中定義主函數(shù)main()并聲明一個外部整型變量n,在另
一個源文件中定義一個不帶參數(shù)的函數(shù)factorial(void),該函數(shù)用于計算變量n的階乘。編程在主函數(shù)main。中
輸入一個整數(shù)并求它的階乘。
3設(shè)計一個應(yīng)用程序,當(dāng)雙擊鼠標(biāo)后彈出一個信息框,顯示雙擊鼠標(biāo)的次數(shù)。
4編寫一個應(yīng)用程序MyCursor,程序運行后,當(dāng)光標(biāo)移動到客戶區(qū)時變?yōu)樽远x形狀。執(zhí)行菜單命令“查看
I系統(tǒng)光標(biāo)”打開一個對話框,當(dāng)光標(biāo)移動到一個對話框時,光標(biāo)變?yōu)閃indows預(yù)定義的4個方向箭頭光標(biāo)。
二、請用VisualC++按要求編寫下列程序。(每題12分,共48分)
1編寫一個名為MyLine的程序,與Windows“畫圖”工具一樣,在利用鼠標(biāo)畫出一條直線時,按住鼠標(biāo)左
鍵并拖拽,先畫出隨鼠標(biāo)移動的直線,當(dāng)釋放左鍵后才真正畫出一條所需要的直線。要求實現(xiàn)窗口重繪功能。
2-個名為CPerson的類有以下屬性:姓名、身份證號、性別和年齡,請用C++語言定義這個類,并為上述
屬性定義相應(yīng)的方法。然后從CPerson類中派生出類CEmployee(雇員),派生類CEmployee增加了兩個新的
數(shù)據(jù)成員,分別用于表示部門和薪水。要求派生類CEmployee的構(gòu)造函數(shù)顯式調(diào)用基類CPerson的構(gòu)造函數(shù),
可根據(jù)需要為派生類增加新的成員函數(shù)。
3首先定義類CPoint類,該類有兩個保護成員變量x,y,表示點的坐標(biāo)。有一個構(gòu)造函數(shù)用于設(shè)置坐標(biāo)并輸
出點坐標(biāo),一個析構(gòu)函數(shù),用于輸出點坐標(biāo)。由CPoint派生出CCircle類,派生類CCircle增加一個保護成
員變量用于表示半徑;并用派生類的構(gòu)造函數(shù)設(shè)置半徑和顯示點坐標(biāo)以及半徑;析構(gòu)函數(shù)用于顯示點坐標(biāo)以
及半徑。再山CCircle類派生出CCylinder類,派生類CCylinder增加一個保護成員變量用于表示高度;構(gòu)造
函數(shù)設(shè)置高度,并顯示高度、半徑和點坐標(biāo);析構(gòu)函數(shù)顯示高度、半徑和點坐標(biāo)。為類CPoint、類CCircle
和類Cctlinder添加計算面積的成員函數(shù)Area。,要求函數(shù)Area。采用虛函數(shù)的形式,并通過基類指針調(diào)用虛
函數(shù)Area。。
4建立一個名為CTeacher的類,該類有以下成員變量:教師姓名、ID號、基本工資、獎金、所得稅和實際
發(fā)放數(shù)。還有以下成員函數(shù):兩個構(gòu)造函數(shù),一個用于只初始化教師姓名和ID號,一個用于初始化教師姓
名、ID號、基本工資、獎金和所得稅;一個輸入基本工資、獎金和所得稅的函數(shù);-個計算實際發(fā)放數(shù)的函
數(shù);一個輸出教師信息的函數(shù),兩個重載運算符“+”,一個用于將其他教師的工資加到該教師(如該教師
替其他教師代課),一個函數(shù)用于將一個數(shù)值加到該教師(如提高該教師的工資)。編寫主函數(shù),調(diào)用第一個
構(gòu)造函數(shù)聲明一個教師對象并輸入其工資,再調(diào)用第二個構(gòu)造函數(shù)聲明一個教師對象。最后分別計算兩個教
師的實際發(fā)放數(shù),在屏幕輸HI,并編寫代碼驗證兩個重載運算符“+”的功能。
三、選做題:請在以下4題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)
1:編寫一個名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時通過調(diào)用API函數(shù),以彈出一個提示信息對話框。
為程序添加鍵盤輸入消息WMJ2HAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或X,并給出相應(yīng)的提示。
2:編寫一個自定義消息應(yīng)用程序,設(shè)置一個定時器,在WM_TIMER的消息處理函數(shù)中發(fā)送一個用戶自定義
消息,在對應(yīng)的自定義消息處理函數(shù)中以動畫的形式旋轉(zhuǎn)顯示一行文本。程序啟動后當(dāng)用戶選擇“旋轉(zhuǎn)”菜
單命令時啟動定時器以發(fā)送用戶自定義消息,在自定義消息處理函數(shù)中旋轉(zhuǎn)顯示一行文本。當(dāng)用戶選擇“停
止”菜單命令時停止旋轉(zhuǎn)顯示文本。
3:編寫一個SDI應(yīng)用程序,按照以下要求編程:(1)執(zhí)行“編輯I輸入數(shù)據(jù)⑴……”菜單命令打開標(biāo)題為“輸
入數(shù)據(jù)”的對話框,通過該對話框輸入X和Y坐標(biāo)值,要求輸入值在100—400的范圍內(nèi);(2)在視圖類中
定義兩個成員變量,單擊對話框的“確定”按鈕時接收輸入數(shù)據(jù),并賦值給視圖對象的兩個成員變量,調(diào)用
Invalidate。函數(shù)刷新窗口:(3)在視圖類OnDraw()函數(shù)中添加代碼,畫出一條從當(dāng)前位置到輸入坐標(biāo)的直
線。
4:編寫一個應(yīng)用程序,在客戶區(qū)利用函數(shù)DrawText()顯示3行文本。
一、請利用VisualC++編程完成以下題目。(每題8分,共32分)
1編寫一個程序,輸入三角形的三個邊的邊長,求三角形的面積。
2首先編寫一個選擇排序函數(shù),然后在主函數(shù)中調(diào)用排序函數(shù)對10個整數(shù)從小到大進行排序。提示:采用
數(shù)組名作為函數(shù)參數(shù)。選擇排序:每一趟從待排序的序列中選出一個最小的數(shù)據(jù)。
3編寫一個對話框應(yīng)用程序,在對話框中顯示“HelloMFCDialog!”,并畫出一個橢圓。
4編寫一個SDI應(yīng)用程序,繪制不同風(fēng)格、寬度何顏色的直線。
二、請用VisualC++按要求編寫下列程序。(每題12分,共48分)
1用函數(shù)重載形式編寫函數(shù)square。:求一個int型或double型參數(shù)的平方。
2編寫一個函數(shù)模板:求三個數(shù)中的最大數(shù)。
3建立一個名為CTeacher的類,該類有以下成員變量:教師姓名、ID號、基本工資、獎金、所得稅和實際
發(fā)放數(shù)。還有以下成員函數(shù):兩個構(gòu)造函數(shù),一個用于只初始化教師姓名和ID號,-個用于初始化教師姓
名、ID號、基本工資、獎金和所得稅;一個輸入基本工資、獎金和所得稅的函數(shù);一個計算實際發(fā)放數(shù)的函
數(shù);一個輸出教師信息的函數(shù)。編寫主函數(shù),調(diào)用第一個構(gòu)造函數(shù)聲明一個教師對象并輸入其工資,再調(diào)用
第二個構(gòu)造函數(shù)聲明一個教師對象。最后分別計算兩個教師的實際發(fā)放數(shù),并在屏幕輸出。
4試編寫一個MDI應(yīng)用程序,在客戶區(qū)顯示文本串“歡迎使用VisualC++面向?qū)ο缶幊探坛獭?,要求從左?/p>
右滾動顯示這行字。
三、選做題:請在以下4題中任選2題,用VisualC++按要求編寫程序.(每題10分,共20分)
1:編寫一個名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時通過調(diào)用API函數(shù),以彈出一個提示信息對話框。
為程序添加鍵盤輸入消息WM_CHAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或x,并給出相應(yīng)的提示。
2:編寫一個SDI應(yīng)用程序,在“查看”主菜單中添加“等待光標(biāo)”菜單項,執(zhí)行“等待光標(biāo)”菜單命令后
首先將光標(biāo)改為沙漏形,然后進行2秒鐘左右的這種操作,最后將光標(biāo)回復(fù)原狀。
3:編寫一個SDI應(yīng)用程序,為程序添加一個工具欄按鈕,當(dāng)單擊按鈕時彈出一個對話框。對話框中有3個
標(biāo)題為紅、綠、藍的復(fù)選框,當(dāng)用戶單擊“確定”按鈕,程序根據(jù)選擇的組合顏色在用戶區(qū)顯示一行文本。
4:編寫一個SDI應(yīng)用程序,按照以下要求編程:(1)執(zhí)行“編輯I輸入數(shù)據(jù)(I)……”菜單命令打開標(biāo)題為“輸
入數(shù)據(jù)”的對話框,通過該對話框輸入X和Y坐標(biāo)值,要求輸入值在100—400的范圍內(nèi):(2)在視圖類中
定義兩個成員變量,單擊對話框的“確定”按鈕時接收輸入數(shù)據(jù),并賦值給視圖對象的兩個成員變量,調(diào)用
Invalidate。函數(shù)刷新窗口;(3)在視圖類OnDraw()函數(shù)中添加代碼,畫出一條從當(dāng)前位置到輸入坐標(biāo)的直
線。
一、請利用VisualC++編程完成以下題目。(每題8分,共32分)
1把華氏溫度轉(zhuǎn)換為攝氏溫度的計算公式是:c=(5/9)X(F—32)。編寫一個程序,用戶輸入一個華氏
溫度,程序輸出相應(yīng)的攝氏溫度。要求將32和5/9用戶const型變量表示。
2首先編寫以下函數(shù)聲明的函數(shù):voidswap(float*px,float*py),該函數(shù)用于交換兩個實型變量的
值,然后編寫一個主函數(shù)驗證函數(shù)swap。功能。
3一個名為CPerson的類有以下屬性:姓名、身份證號、性別和年齡,請用C++語言定義這個類,并為上述
屬性定義相應(yīng)的方法。
4編寫一個繪圖程序,利用CDC類的成員函數(shù)繪制像素點、五條折線、貝濟埃曲線、圓角矩形、橢圓弧、
扇形、弦形、五邊形等常見幾何圖形中的五種圖形。
二、請用VisualC++按要求編寫下列程序。(每題12分,共48分)
1設(shè)計一個日期類CDate,該類用于表示H期值(年、月、日)。要求除了能夠通過相應(yīng)的成員函數(shù)設(shè)置和
獲取日期值外,還能夠?qū)崿F(xiàn)將日期加一天的操作。
2編寫一個名為MyLine的程序,與Windows“畫圖”工具一樣,在利用鼠標(biāo)畫出一條直線時,按住鼠標(biāo)左
鍵并拖拽,先畫出隨鼠標(biāo)移動的直線,當(dāng)釋放左鍵后才真正畫出一條所需要的直線。要求實現(xiàn)窗口重繪功能
并能夠?qū)⒗L制好的圖像保存在磁盤上。
3設(shè)類X分別派生出類Y和類Z,類Y和類Z又共同派生出類W,請用虛基類方式定義這些類。要求為類
簡單添加些成員,并編寫main()函數(shù)進行驗證。
4建立一個名為CTeacher的類,該類有以下成員變量:教師姓名、ID號、基本工資、獎金、所得稅和實際
發(fā)放數(shù)。還有以下成員函數(shù):兩個構(gòu)造函數(shù),?個用于只初始化教師姓名和ID號,一個用于初始化教師姓
名、ID號、基本工資、獎金和所得稅;一個輸入基本工資、獎金和所得稅的函數(shù);一個計算實際發(fā)放數(shù)的函
數(shù);?個輸出教師信息的函數(shù),兩個重裁運算符“+”,一個用于將其他教師的工資加到該教師(如該教師
替其他教師代課),-個函數(shù)用于將一個數(shù)值加到該教師(如提高該教師的工資)。編寫主函數(shù),調(diào)用第一個
構(gòu)造函數(shù)聲明一個教師對象并輸入其工資,再調(diào)用第二個構(gòu)造函數(shù)聲明一個教師對■象。最后分別計算兩個教
師的實際發(fā)放數(shù),在屏幕輸出,并編寫代碼驗證兩個重載運算符“十”的功能。
三、選做題:請在以下4題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)
1:編寫一個名為Hello的類SDK應(yīng)用程序,在HELP主菜單中添加菜單項Message,當(dāng)用戶執(zhí)行菜單項命令
Message后彈出信息對話框,顯示該菜單項的執(zhí)行次數(shù),提示:使用函數(shù)」toa()。
2:編寫一個名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時通過調(diào)用API函數(shù),以彈出一個提示信息對話框。
為程序添加鍵盤輸入消息WM_CHAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或x,并給出相應(yīng)的提示。
3:編寫一個SDI應(yīng)用程序,按照以下要求編程:(1)執(zhí)行“編輯I輸入數(shù)據(jù)⑴……”菜單命令打開標(biāo)題為“輸
入數(shù)據(jù)”的對話框,通過該對話框輸入X和Y坐標(biāo)值,要求輸入值在100—400的范圍內(nèi);(2)在視圖類中
定義兩個成員變量,單擊對話框的“確定”按鈕時接收輸入數(shù)據(jù),并賦值給視圖對象的兩個成員變量,調(diào)用
Invalidate。函數(shù)刷新窗口;(3)在視圖類OnDraw()函數(shù)中添加代碼,畫出一條從當(dāng)前位置到輸入坐標(biāo)的直
線。
4:編寫一個SDI應(yīng)用程序,執(zhí)行某菜單命令時打開一個對話框,通過該對話框輸入要顯示的字符串和坐標(biāo)
值,并單擊0K在視圖區(qū)指定位置顯示輸入的字符串。
一、請利用VisualC++編程完成以下題目。(每題8分,共32分)
1分別使用for語句、while語句、do-while語句編程求50以內(nèi)的自然數(shù)之和。
2函數(shù)的參數(shù)傳遞方式有“單向值傳遞”、“按地址傳遞”和“引用傳遞”三種方式,請采用內(nèi)聯(lián)函數(shù)的方
法實現(xiàn)實參和形參的按地址傳遞。
3編寫一個SDI應(yīng)用程序SDIDraw,為應(yīng)用程序添加主菜單“我的菜單”,并添加“顯示文本”和“畫圖”
兩個菜單項,編寫上述兩個菜單項的消息處理函數(shù),分別在客戶區(qū)顯示一行文本或畫一個圓。要求:顯示
文本后“顯示文本”菜單項處于不可用狀態(tài);當(dāng)畫一個圓后“畫圓”菜單項處于不可用狀態(tài)。其他情況下處
于可用狀態(tài)。
4編寫一個應(yīng)用程序MyBMP,程序運行后在客戶區(qū)顯示一幅位圖。
二、請用VisualC++按要求編寫下列程序。(每題12分,共48分)
1采用動態(tài)內(nèi)存分配方法設(shè)計一個學(xué)生成績處理程序,要求輸入任意數(shù)量學(xué)生的學(xué)號、姓名和4門課的成
績,并按平均成績高低輸出每個學(xué)生的姓名和成績。
2建立一個名為CStudent的類,該類有以下幾個私有成員變量:學(xué)生姓名、學(xué)號、性別和年齡。有以下兩
個成員函數(shù):一個用于初始化學(xué)生姓名、學(xué)號、性別和年齡的構(gòu)造函數(shù),一個用于輸出學(xué)生信息的函數(shù)。此
外還有一個靜態(tài)成員變量,用于表示已創(chuàng)建對象的數(shù)量;有兩個靜態(tài)成員函數(shù),一個用于輸出已創(chuàng)建對象的
數(shù)量,一個用于輸出一個學(xué)生的姓名和學(xué)號。編寫一個主函數(shù),聲明一個學(xué)生對象,然后調(diào)用成員函數(shù)在屏
幕輸出學(xué)生信息。
3設(shè)計一個日期類CDate,該類用于表示日期值(年、月、日)。要求除了能夠通過相應(yīng)的成員函數(shù)設(shè)置和
獲取日期值外,還能夠用重載運算符“++”的方法實現(xiàn)將日期加一天的操作。
4建立一個名為CTeacher的類,該類有以下成員變量:教師姓名、ID號、基本工資、獎金、所得稅和實際
發(fā)放數(shù)。還有以下成員函數(shù):兩個構(gòu)造函數(shù),?個用于只初始化教師姓名和ID號,一個用于初始化教師姓
名、ID號、基本工資、獎金和所得稅;一個輸入基本工資、獎金和所得稅的函數(shù);一個計算實際發(fā)放數(shù)的函
數(shù);?個輸出教師信息的函數(shù),兩個重載運算符“+”,一個用于將其他教師的工資加到該教師(如該教師
替其他教師代課),-個函數(shù)用于將一個數(shù)值加到該教師(如提高該教師的工資)。編寫主函數(shù),調(diào)用第一個
構(gòu)造函數(shù)聲明一個教師對象并輸入其工資,再調(diào)用第二個構(gòu)造函數(shù)聲明一個教師對■象。最后分別計算兩個教
師的實際發(fā)放數(shù),在屏幕輸出,并編寫代碼驗證兩個重載運算符“十”的功能。
三、選做題:請在以下4題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)
1:編寫一個名為Hello的類SDK應(yīng)用程序,在HELP主菜單中添加菜單項Message,當(dāng)用戶執(zhí)行菜單項命令
Message后彈出信息對話框,顯示該菜單項的執(zhí)行次數(shù),提示:使用函數(shù)」toa()。
2:編寫一個自定義消息應(yīng)用程序,設(shè)置一個定時器,在WM_TIMER的消息處理函數(shù)中發(fā)送一個用戶自定義
消息,在對應(yīng)的自定義消息處理函數(shù)中以動畫的形式旋轉(zhuǎn)顯示一行文本。程序啟動后當(dāng)用戶選擇“旋轉(zhuǎn)”菜
單命令時啟動定時器以發(fā)送用戶自定義消息,在自定義消息處理函數(shù)中旋轉(zhuǎn)顯示一行文本。當(dāng)用戶選擇“停
止”菜單命令時停止旋轉(zhuǎn)顯示文本。
3:編寫一個SDI應(yīng)用程序,按照以下要求編程:(1)執(zhí)行“編輯I輸入數(shù)據(jù)⑴……”菜單命令打開標(biāo)題為“輸
入數(shù)據(jù)”的對話框,通過該對話框輸入X和Y坐標(biāo)值,要求輸入值在100—400的范圍內(nèi);(2)在視圖類中
定義兩個成員變量,單擊對話框的“確定”按鈕時接收輸入數(shù)據(jù),并賦值給視圖對象的兩個成員變量,調(diào)用
Invalidate。函數(shù)刷新窗口;(3)在視圖類OnDraw()函數(shù)中添加代碼,畫出一條從當(dāng)前位置到輸入坐標(biāo)的直
線。
4:編寫一個SDI應(yīng)用程序,為程序添加一個工具欄按鈕,當(dāng)單擊按鈕時彈出一個對話框。對話框中有3個
標(biāo)題為紅、綠、藍的復(fù)選框,當(dāng)用戶單擊“確定”按鈕,程序根據(jù)選擇的組合顏色在用戶區(qū)顯示一行文本。
一、請利用VisualC++編程完成以下題目。(每題8分,共32分)
1編寫一個程序,輸入三角形的三個邊的邊長,求三角形的面積。
2函數(shù)的參數(shù)傳遞方式有“單向值傳遞”、“按地址傳遞”和“引用傳遞”三種方式,請采用內(nèi)聯(lián)函數(shù)的方
法實現(xiàn)實參和形參的按地址傳遞。
3編寫一個SDI應(yīng)用程序SDIDraw,為應(yīng)用程序添加主菜單“我的菜單”,并添加“顯示文本”和“畫圖”
兩個菜單項,編寫上述兩個菜單項的消息處理函數(shù),分別在客戶區(qū)顯示一行文本或畫一個圓。
使用技鈕帶件因
4編寫一個對話框應(yīng)用程序CorButn,對話框中有兩個用于
選擇顏色模式的單選按鈕和3個用于選擇顏色的復(fù)選框,
只有在彩色模式下才能選擇3中不同的顏色的組合。對話
框運行效果如右圖,當(dāng)用戶單擊“應(yīng)用”按鈕,對話框右
邊的按鍵按鈕根據(jù)選擇的顏色實現(xiàn)按鈕的自畫。卜一…費或.I竄清IsI
二、請用VisualC++按要求編寫下列程序。(每題12分,共48分)
1設(shè)計一個日期類CDate,該類用于表示日期值(年、月、日)。要求除了能夠通過相應(yīng)的成員函數(shù)設(shè)置和
獲取日期值外,還能夠?qū)崿F(xiàn)將日期加一天的操作。
2建立一個名為CStudent的類,該類有以下幾個私有成員變量:學(xué)生姓名、學(xué)號、性別和年齡。有一個成
員函數(shù):用于初始化學(xué)生姓名、學(xué)號、性別和年齡的構(gòu)造函數(shù)。還有一個用于輸出學(xué)生信息的友元函數(shù)。編
寫一個主函數(shù),聲明一個學(xué)生對象,然后調(diào)用友元函數(shù)在屏幕輸出學(xué)生信息。
3建立一個名為CTeacher的類,該類有以下成員變量:教師姓名、ID號、基本工資、獎金、所得稅和實際
發(fā)放數(shù)。還有以下成員函數(shù):兩個構(gòu)造函數(shù),一個用于只初始化教師姓名和ID號,一個用于初始化教師姓
名、ID號、基本工資、獎金和所得稅;一個輸入基本工資、獎金和所得稅的函數(shù);-個計算實際發(fā)放數(shù)的函
數(shù);一個輸出教師信息的函數(shù),兩個Add()成員函數(shù),?個用于將其他教師的工資加到該教師(如該教師替
其他教師代課),一個函數(shù)用于將一個數(shù)值加到該教師(如提高該教師的工資)。編寫主函數(shù),調(diào)用第一個構(gòu)
造函數(shù)聲明一個教師對象并輸入其工資,再調(diào)用第二個構(gòu)造函數(shù)聲明一個教師對象。最后分別計算兩個教師
的實際發(fā)放數(shù),在屏幕輸出,并編寫代碼驗證兩個Add()函數(shù)的功能。
4試編寫一個MDI應(yīng)用程序,在客戶區(qū)顯示文本串“歡迎使用VisualC++面向?qū)ο缶幊探坛獭?,要求從左?/p>
右滾動顯示這行字。
三、選做題:請在以下4題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)
I:編寫一個名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時通過調(diào)用API函數(shù),以彈出一個提示信息對話框。
為程序添加鍵盤輸入消息WM_CHAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或x,并給出相應(yīng)的提示。
2:編寫一個自定義消息應(yīng)用程序,設(shè)置一個定時器,在WM_TIMER的消息處理函數(shù)中發(fā)送一個用戶自定義
消息,在對應(yīng)的自定義消息處理函數(shù)中以動畫的形式旋轉(zhuǎn)顯示行文本。程序啟動后當(dāng)用戶選擇“旋轉(zhuǎn)”菜
單命令時啟動定時器以發(fā)送用戶自定義消息,在自定義消息處理函數(shù)中旋轉(zhuǎn)顯示一行文本。當(dāng)用戶選擇“停
止”菜單命令時停止旋轉(zhuǎn)顯示文本。
3:編寫一個SDI應(yīng)用程序,執(zhí)行某菜單命令時打開一個對話框,通過該對話框輸入要顯示的字符串和坐標(biāo)
值,并單擊0K在視圖區(qū)指定位置顯示輸入的字符串。
4:編寫一個SDI應(yīng)用程序,為程序添加一個工具欄按鈕,當(dāng)單擊按鈕時彈出一個對話框。對話框中有3個
標(biāo)題為紅、綠、藍的復(fù)選框,當(dāng)用戶單擊“確定”按鈕,程序根據(jù)選擇的組合顏色在用戶區(qū)顯示一行文本。
一、請利用VisualC++編程完成以下題目。(每題8分,共32分)
1從鍵盤輸入一個大寫字母,然后改用小寫字母在屏幕上輸出。
2一個程序由兩個C++源文件組成,在一個源文件中定義主函數(shù)main()并聲明一個外部整型變量n,在另
一個源文件中定義一個不帶參數(shù)的函數(shù)factorial(void),該函數(shù)用于計算變量n的階乘。編程在主函數(shù)main。中
輸入一個整數(shù)并求它的階乘。
3編寫一個SDI應(yīng)用程序SDIDraw,為應(yīng)用程序添加主菜單“我的菜單”,并添加“顯示文本”和“畫圖”
兩個菜單項,編寫上述兩個菜單項的消息處理函數(shù),分別在客戶區(qū)顯示一行文本或畫一個圓。要求:顯示
文本后“顯示文本”菜單項處于不可用狀態(tài):當(dāng)畫一個圓后“畫圓”菜單項處于不可用狀態(tài)。其他情況下處
于可用狀態(tài)。
4假設(shè)己利用MFCAppWizard應(yīng)用程序向?qū)Ы⒘艘粋€名為Mysdi的單文檔應(yīng)用程序,在應(yīng)用程序中添加
標(biāo)題為“輸入半徑”的對話框資源和對應(yīng)的對話框類,在對話框資源中添加內(nèi)容為“請輸入半徑”的靜態(tài)文
本框控件和用于接收輸入的編輯框控件,并添加與控件關(guān)聯(lián)的成員變量。通過“編輯”菜單中的“輸入半徑
(D”打開標(biāo)題為“輸入半徑對話框”,并根據(jù)輸入的半徑畫一個圓。
二、請用VisualC++按要求編寫下列程序。(每題12分,共48分)
1建立一個名為CStudent的類,該類有以下幾個私有成員變量:學(xué)生姓名、學(xué)號、性別和年齡。還有以下
兩個成員函數(shù):一個用于初始化學(xué)生姓名、學(xué)號、性別和年齡的構(gòu)造函數(shù),一個用于輸出學(xué)生信息的函數(shù)。
編寫一個主函數(shù),聲明一個學(xué)生對象,然后調(diào)用成員函數(shù)在屏幕輸出學(xué)生信息。
2一個名為CPerson的類有以下屬性:姓名、身份證號、性別和年齡,請用C++語言定義這個類,并為上述
屬性定義相應(yīng)的方法。然后從CPerson類中派生出類CEmployee(雇員),派生類CEmployee增加了兩個新的
數(shù)據(jù)成員,分別用于表示部門和薪水。要求派生類CEmployee的構(gòu)造函數(shù)顯式調(diào)用基類CPerson的構(gòu)造函數(shù),
可根據(jù)需要為派生類增加新的成員函數(shù)。
3建立一個名為CTeacher的類,該類有以下成員變量:教師姓名、ID號、基本工資、獎金、所得稅和實際
發(fā)放數(shù)。還有以下成員函數(shù):兩個構(gòu)造函數(shù),一個用于只初始化教師姓名和ID號,一個用于初始化教師姓
名、ID號、基本工資、獎金和所得稅;一個輸入基本工資、獎金和所得稅的函數(shù);-個計算實際發(fā)放數(shù)的函
數(shù);?個輸出教師信息的函數(shù)。編寫主函數(shù),調(diào)用第一個構(gòu)造函數(shù)聲明一個教師對象并輸入其工資,再調(diào)用
第二個構(gòu)造函數(shù)聲明一個教師對象。最后分別計算兩個教師的實際發(fā)放數(shù),并在屏幕輸出。
4試編寫一個MDI應(yīng)用程序,在客戶區(qū)顯示文本串“歡迎使用VisualC++面向?qū)ο缶幊探坛獭?,要求從左?/p>
右滾動顯示這行字。
三、選做題:請在以下4題中任選2題,用VisualC++按要求編寫程序。(每題10分,共20分)
1:編寫一個名為Hell。的類SDK應(yīng)用程序,當(dāng)單擊鼠標(biāo)時通過調(diào)用API函數(shù),以彈出一個提示信息對話框。
為程序添加鍵盤輸入消息WM_CHAR的處理代碼,判斷當(dāng)前按下的鍵是否是X或x,并給出相應(yīng)的提示。
2:編寫一個自定義消息應(yīng)用程序,設(shè)置一個定時器,在WMJIMER的消息處理函數(shù)中發(fā)送一個用戶自定義
消息,在對應(yīng)的自定義消息處理函數(shù)中以動畫的形式旋轉(zhuǎn)顯示
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年湛江經(jīng)營性道路客貨運輸駕駛員從業(yè)資格考試
- 電視節(jié)目策劃方案
- 班級出游活動的策劃書
- 生物可行性研究報告
- 旅游投資項目可行性研究報告
- 跨境合作電商綜合服務(wù)平臺
- 古敘生活垃圾焚燒發(fā)電項目
- 智能家居安全防范技術(shù)
- 倉庫工作流程的標(biāo)準化計劃
- 品牌故事的撰寫技巧計劃
- JT-T-1199.1-2018綠色交通設(shè)施評估技術(shù)要求第1部分:綠色公路
- 酒店能耗分析報告
- 桃花紅杏花紅混聲合唱簡譜
- DL-T995-2016繼電保護和電網(wǎng)安全自動裝置檢驗規(guī)程
- 2024年蘇州農(nóng)業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫含答案
- 2024年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫含答案
- 2024年大理農(nóng)林職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫含答案
- C語言課程思政案例
- 《柔性棚洞防護結(jié)構(gòu)技術(shù)規(guī)程》
- 現(xiàn)場施工環(huán)境保護應(yīng)急預(yù)案
- 社區(qū)舞蹈隊章程
評論
0/150
提交評論