C++課堂練習(xí)題概要_第1頁
C++課堂練習(xí)題概要_第2頁
C++課堂練習(xí)題概要_第3頁
C++課堂練習(xí)題概要_第4頁
C++課堂練習(xí)題概要_第5頁
已閱讀5頁,還剩80頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

Cmain(){inta,b,c;cin>>a>>b;return0;}sum(inta,intb){returna+b;}main(){inti;int*p,f1=1,f2=1,f;p=newint[20];nreturnp[0]=1;p[1]=1;for(i=2;1<20;i++){f=f1+f2;p[i]=f;f1=f2;f2=f;}for(i=0;i<20;i++)cout<<p[i]<<””;return0;}intmain()ifaaan++;}}coutn”<<n<<endl;return0;}不使用C語言庫函數(shù),完成以下功能,輸入一個(gè)正整數(shù)n(n<10),輸出下面的圖形,其中**********【課堂練習(xí)題5】撰寫一個(gè)程序,使之能夠詢問用戶的姓名,并讀取用戶輸入的內(nèi)容.請(qǐng)確保用戶輸入的名字長度大于兩個(gè)字符.如果用戶輸入了有效的名稱,就顯示該名字,否則給出相應(yīng)的錯(cuò)誤提示信息。分別使用以下兩種方式實(shí)現(xiàn)操作,第一種,使用C-style(風(fēng)格)字方法,第二種,使用string對(duì)象類型。數(shù)、外)成績由隨機(jī)數(shù)生成(0到100之間),每個(gè)學(xué)生的成績由動(dòng)態(tài)數(shù)組保存。(1).取得總分最高的學(xué)生的學(xué)號(hào)。(2).提示用戶輸入1,2,3來獲得語、數(shù)、外的平均分?!?】實(shí)現(xiàn)重載max的函數(shù),讓它接受以下參數(shù)(a)兩個(gè)整數(shù)(b)兩個(gè)浮點(diǎn)數(shù)(c)兩個(gè)字符串(d)一個(gè)整數(shù)數(shù)組,以及一個(gè)表示數(shù)組大小的整數(shù)值組)及vector(向量),然后遍歷這兩種容器,求取數(shù)值總和,將總和及平均值輸出至顯示器。算法分離)。時(shí)間的方法需要校驗(yàn)數(shù)據(jù)的正確性,并在main函數(shù)中驗(yàn)證?!菊n堂練習(xí)題11】設(shè)計(jì)一個(gè)矩形類,完成計(jì)算矩形面積和顯示矩形屬性的功能。數(shù)據(jù)成員包括長(length)寬(width)高(height)。要求用成員函數(shù)實(shí)現(xiàn)以下功能:柱的長、寬、高。2)計(jì)算長方柱的體積。3)輸出3個(gè)長方柱的體積?!菊n堂練習(xí)題13】定義一個(gè)描述圓柱體的類Cylinder,定義圓柱體的底面半徑與高,計(jì)算圓voidBox::voidBox::value(){cin>>length;cin>>width;cin>>height;}vole=length*width*height;return(vole);}splayolumeendl}外語和計(jì)算機(jī)課程的成績。要求能實(shí)現(xiàn)求三門課總成績和平均成績,并能設(shè)置和顯示學(xué)生信息(類聲明和成員函數(shù)定義分離)。).設(shè)計(jì)一個(gè)友元函數(shù),按照成績從高到低的順序輸出姓名、學(xué)號(hào)和成績信息?!菊n堂練習(xí)題16】設(shè)計(jì)一個(gè)圓類型,設(shè)計(jì)之后,輸入圓半徑,計(jì)算圓周長、面積,并顯示圓的半徑、周長和面積(要求定義該類的構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù))。BOOKISBNstringstring者(string)以及單價(jià)信息,還能根據(jù)數(shù)量確定折扣率并計(jì)算應(yīng)付款項(xiàng),折扣率五本以上90%,十本以上80%,析構(gòu)函數(shù)(類聲明和成員函數(shù)定義分離)。(2)用一個(gè)靜態(tài)數(shù)據(jù)成員記錄所創(chuàng)建的矩形的個(gè)數(shù)N個(gè)矩形的面積intGetAllRectArea(Rectangle*pRectArray,intcount);數(shù)據(jù)成員包括長(length)寬(width)高(height)。要求用成員函數(shù)實(shí)現(xiàn)以下功能:2)計(jì)算長方柱的體積。3)輸出3個(gè)長方柱的體積。//輸入數(shù)據(jù)成員函數(shù):value()//計(jì)算體積成員函數(shù):volume()//輸出結(jié)果成員函數(shù):display(){private:intlength;//長intwidth;//寬intheight;//高public:voidvalue();//輸入數(shù)據(jù)成員函數(shù)doublevolume();//計(jì)算體積成員函數(shù)voiddisplay();//輸出結(jié)果成員函數(shù)};intintmain(){Boxt1,t2,t3;t1.display();t2.display();t3.display();}【課堂練習(xí)題2】類和對(duì)象的定義及訪問屬性定義一個(gè)描述“鐘表”的類及該類的對(duì)象,并用對(duì)象訪問其成員??梢栽O(shè)置時(shí)間,也可以lics};【課堂練習(xí)題3】帶有成員初始化表的構(gòu)造函數(shù)定義一個(gè)描述“點(diǎn)“的類及該類的對(duì)象,使用成員初始化表初始化數(shù)據(jù)成員。{intxval,yval;//定義兩個(gè)坐標(biāo)變量};{};cout"("<<xval<<","<<yval<<")"<<endl;}pointpt原點(diǎn)}【課堂練習(xí)題4】帶有參數(shù)的構(gòu)造函數(shù)//創(chuàng)建一個(gè)日期類,包含年、月、日三個(gè)私有數(shù)據(jù)成員??梢栽趧?chuàng)建對(duì)象時(shí)利用構(gòu)造函數(shù)初intyear;//表示年的數(shù)據(jù)成員ntday};//{}d{}{}}某商店出售商品,如果購買量大,超過一定的數(shù)量,超過的數(shù)量將給予折扣。編寫C++程序能夠初始化購買數(shù)量和折扣起始數(shù)量(默認(rèn)值為100),并可以輸入購買數(shù)量和折扣起始數(shù)量,輸出有關(guān)信息。購買數(shù)量在扣除起始數(shù)量后的部分1~5051~100折扣率tvoidinput//輸入函數(shù)說明voidprint();//輸出函數(shù)說明};e}voidTaseinput可以輸入購買數(shù)量、折扣起始數(shù)量voidTase::print()//輸出函數(shù),可以計(jì)算總金額:單價(jià)×購買數(shù)量-折扣金額t.print();//輸出相關(guān)信息t1.input();//輸入新的購買數(shù)量、折扣起始數(shù)量t.print();//輸出相關(guān)信息}在產(chǎn)品類(包括:產(chǎn)品名稱、產(chǎn)品單價(jià)、庫存量)中,計(jì)算產(chǎn)品的銷售總額,總數(shù)量和購買產(chǎn)品的人數(shù)。利用靜態(tài)成員函數(shù)輸出產(chǎn)品的銷售總額,總數(shù)量和購買產(chǎn)品的人數(shù)。說明:產(chǎn)品的銷售總額,總數(shù)量和購買產(chǎn)品的人數(shù)應(yīng)該是每個(gè)產(chǎn)品對(duì)象共享的數(shù)據(jù),因此在程序中將其說明為靜態(tài)數(shù)據(jù)成員。lic余臺(tái)數(shù)product//析構(gòu)函數(shù)聲明private://定義私有數(shù)據(jù)成員intprice;//單價(jià)//記錄購買顧客的總?cè)藬?shù)//賣出產(chǎn)品的總金額};//類定義結(jié)束//n庫存數(shù)量e}y{intn,r;//n記錄購買的數(shù)量,r記錄顧客的余額ndl//輸出產(chǎn)品名稱、單價(jià)、庫存ce//輸出顧客付了多少錢,購買了多少臺(tái)產(chǎn)品,余額是多少}}}p}義一個(gè)成員函數(shù):能夠從鍵盤上輸入學(xué)生的學(xué)號(hào)、姓名、性別。定義一個(gè)顯示函數(shù):能夠顯性別。函數(shù):能夠從鍵盤上輸入學(xué)生的年齡、住址。在主函數(shù)中輸出學(xué)生的學(xué)號(hào)、姓名、性別、年blic};//基類公用成員//基類私有成員}}};}建立一個(gè)簡單的大學(xué)管理系統(tǒng),其中有學(xué)生和職工,職工中有教師。類的繼承關(guān)系如圖。}}}}}};intlevel;//年級(jí)}};t}letedeptvoidprint();};}};}};}r}CC++程序的多文件組成一個(gè)源程序按結(jié)構(gòu)可以劃分為3個(gè)文件:類聲明文件(*.h文件)、類實(shí)現(xiàn)文件(*.cpp)和類的使用文件(*.cpp,主函數(shù)文件)。用類成員函數(shù)所需的函數(shù)原型。由多個(gè)文件組成的由多個(gè)文件組成的程序的編輯、編譯、連接和執(zhí)行方法:1.把編輯好的源文件存放到指定的目錄下。如D:\C++3.選擇“文件/新建”,打開“新建”對(duì)話框。選擇“工程”選項(xiàng)卡,在右部的列表中選擇然后選擇“添加到當(dāng)前工作空間”單選按鈕。單擊“確定”程”對(duì)話框,在該對(duì)話框中找到文件,單擊“確定”將文件添加到工程中。程序代碼};}}} }}}【課堂練習(xí)題12】應(yīng)用抽象類,求圓、圓內(nèi)正方形和圓外正方形的面積和周長?!菊n堂練習(xí)題13】圖形的顯示、隱去、放大、縮小和移動(dòng)//畫圖程序y};{public:};};y{x=initx;y=inity;}point::point(intinitx,intinity):location(initx,inity){}voidpoint::hide(){putpixel(x,y,getbkcolor());}voidpoint:moveto(intnewx,intnewy)}}}}{radius=0;}}hide();}}利用純虛函數(shù)建立堆棧與隊(duì)列的操作。本題是一個(gè)非常實(shí)用的題目。結(jié)束后,用戶要求系統(tǒng)結(jié)賬,系統(tǒng)便計(jì)算出費(fèi)用通知用戶。我們把選書的過程略去。假設(shè)用3類:普通人、會(huì)員、貴賓?!捌胀ㄈ恕钡馁彆丛瓋r(jià)收取?!皶?huì)員”購書費(fèi)用的計(jì)算方法是:指定的折扣率計(jì)算收取的費(fèi)用。例如折扣率40%。則按實(shí)際2.對(duì)象(類)設(shè)計(jì)以上分析,需要設(shè)計(jì)一個(gè)基類buyer和它的3個(gè)派生類layfolk(普通人)、member(會(huì)getid)負(fù)責(zé)取出購書人的應(yīng)付的編號(hào)。由于在計(jì)算購書金額時(shí)要知道用戶買了哪些書及書的價(jià)格,所以必須建立一個(gè)book類幫助{shortmLength/字符串長度};3)請(qǐng)用戶輸入購書人的編號(hào)。4)通過編號(hào)查詢到相應(yīng)的對(duì)象。5)用對(duì)象的計(jì)算金額的方法計(jì)算購書金額。此時(shí)兩個(gè)對(duì)象的定價(jià)作為消息傳遞.編碼與測(cè)試rIDvirtualvirtualvoiddisplay數(shù)(純虛函數(shù))};y};構(gòu)造函數(shù)y};{}y};{name="";//姓名pay=0;//購書金額}amen}}}}n}};}ID}}Dbook*c[2];//c[2]數(shù)組存放圖書信息buyer*b[3]={&b1,&b2,&b3};//b[]數(shù)組存放三個(gè)購書人信息bookc1("7-302-04504-6","C++程序設(shè)計(jì)","譚浩強(qiáng)","清華",25);//定義兩個(gè)圖書對(duì)象c[0]=&c1;c[1]=&c2;//c[]數(shù)組存放兩種圖書的信息foriii示三位購書人的信息foriii示兩種圖書的信息dif(!flag){cout<<"編號(hào)不存在"<<endl;}}}**********************************模擬電話簿**1.添加通信錄**2.刪除通信錄**3.顯示通信錄**4.電話簿存盤**5.讀出電話簿**6.退出*********************************輸入(1-6)};};}}{intt;}}}{intt;}}}}}{intt,i,j;}{if(!list[t].isEmpty())}}}inti;if(!file)}{if(file&&!file.eof())}}}inti;if(!file)}i{if(file&&!file.eof())}}}for入結(jié)束代碼}}}cout<<"***************************\n";*\n";*\n";*\n";*\n";*\n";*\n";*\n";cout<<"***************************\n";do{//鍵盤輸入循環(huán)}《C++程序設(shè)計(jì)》練習(xí)題一、選擇題(四選一)1.以下選項(xiàng)中,哪一個(gè)是C++的合法運(yùn)算符()(A)cout(B)friend(C)int(D)new2.()是給對(duì)象取一個(gè)別名。3.下面哪一個(gè)是"voidBC(inta,intb);"的重載函數(shù)?()CfloatBCintaintbintc4.下面有關(guān)構(gòu)造函數(shù)的描述正確的是()5.下面關(guān)于引用的定義,錯(cuò)誤的是()6.下列關(guān)于繼承的說法中,錯(cuò)誤的是()7.下列關(guān)于指針的用法,錯(cuò)誤的是()8.下面的運(yùn)算符中,在C++中不可以重載的是()9.下列關(guān)于類和對(duì)象的說法不正確的是()10.構(gòu)造函數(shù)在()時(shí)被執(zhí)行(A)程序編譯(B)創(chuàng)建類(C)創(chuàng)建對(duì)象(D)執(zhí)行程序11.友元的作用之一是()12.下列關(guān)于運(yùn)算符重載函數(shù)的說法中,錯(cuò)誤的是()D13.在聲明類的時(shí)候,下面的說法正確的是()14.靜態(tài)成員函數(shù)允許訪問類的()成員。15.下列關(guān)于靜態(tài)成員函數(shù)的說法中,正確的是()17.對(duì)象成員的引用方法有()種。18.()是給對(duì)象取一個(gè)別名,它引入了對(duì)象的同義詞。D19.一個(gè)()允許用戶為函數(shù)定義一種模式,使得函數(shù)中的參數(shù)能取得多CD20.對(duì)于類中定義的成員,其隱含訪問權(quán)限為()c1.在設(shè)計(jì)一個(gè)類的時(shí)候,有時(shí)需要將數(shù)據(jù)成員定義為受保護(hù)的類型,這時(shí)area ab參構(gòu)造函數(shù)3.//聲明友元函數(shù) 4.//靜態(tài)成員 5.運(yùn)算符被重載后,不能改變⑤、結(jié)合性和語法結(jié)構(gòu)6.//設(shè)計(jì)類A,主函數(shù)實(shí)現(xiàn)先輸出兩數(shù),再輸出兩數(shù)中較大者{Aa; coutendl }tintintintay//成員函數(shù)Set()在類外單獨(dú)實(shí)現(xiàn) { }8.//重載+運(yùn)算符,實(shí)現(xiàn)兩個(gè)復(fù)數(shù)相加eripublic//外部接口ublerealdoubleimagrrealiimag playcomplex⑩(complex&c2)//重載運(yùn)算符“+”的函數(shù)實(shí)現(xiàn) 14.成員函數(shù)與一般函數(shù)的區(qū)別是:它是(17)的成員,出現(xiàn)在類 運(yùn)算符必須和用戶定義的自定義類型的對(duì)象一起使用,其參數(shù)至 。 。 派生類中定義與。 三、閱讀程序,寫出運(yùn)行結(jié)果1.voidmain()strcoutp+4<<endl;2.voidswap(intx,inty){inttemp=x;x=y;y=temp;}voidmain()coutaa<<“b=”<<b<<ends;coutaa<<“b=”<<b<<endl;3.classMyclass{privateublicMyclass(intx=3,inty=6){a=x;b=y;}voidDisplay(){cout<<a*b;}voidmain()n2.Display();4.classSample{ntmnm{urnx}5.#include<iostream.h>voidDisplaycoutn<<n<<endl;}A{x=0;y=0;n++;}Ainta,intb){x=a;y=b;n++;}AA&a){x=a.x;y=a.y;n++;}lay{Aa;clay6.classA{A(intx){XA=x;}tGetAreturnXAB(intx):A(x+10){XB=x;}voidDispB(){cout<<GetA()+XB<<endl;}7.classMyClass{MyClass){ch='a';cout<<ch<<"執(zhí)行無參構(gòu)造函數(shù)";}MyClass(charc){ch=c;cout<<ch<<"執(zhí)行有參構(gòu)造函數(shù)";}voidPrint(){cout<<"Thecharis"<<ch<<endl;}MyClasscoutch析構(gòu)函數(shù)";}n⑦8.classSample{mpleintmnmSamplesubSample&s1,Sample&s2)turnthisvoiddisp{cout<<"n="<<n<<endl;}ntssdisp9.#include<iostream.h>includemathh>doublef(doublea,doubleb,doublec){seifabcthrowYCurnsqrtabc}voidf1(doublea,doubleb,doublec){try{fabcoutsendlendl}return;}return;}{doubleabcfabc);A(inti){a=i;cout<<a<<"";}Bintkintk2):A(k1)BbCintkintkintkb1(k1,k2),B(k3,k1+k2){Cccout<endl;{inttemp=x;x=y;y=temp;}voidmain()coutaab=”<<b<<ends;coutaab=”<<b<<endl;Myclass(intx=4,inty=5)Aa=10;}Aintm){a=m;}Af1(A&s1,A&s2)return*this);}voiddispcout<a<<"";}As3;A{x=0;y=0;n++;}Aintint;AA;layA:A(inta,intb){x=a;y=b;n++;}A:A(A&a){x=a.x;y=a.y;n++;}voidADisplaycoutn="<<n<<endl;}{Aa,b(37,56);SSAintxXAxSABintxCLASSAx5){XB=x;}voidDispB()MyClass{ch='x';cout<<ch<<"對(duì)象被初始化";}MyClasscharc){ch=c;cout<<ch<<"對(duì)象被自動(dòng)建立";}voidPrint(){cout<<"Thecharis"<<ch<<endl;}MyClasscoutch釋放";}nincludemathh>doublef(doublea,doubleb,doublec)seifabcthrowYCurnsqrtabc}voidf1(doublea,doubleb,doublec){try{fabcndlendl}}}Myclass(inti,intj){maxabab);minabab);}ResultMyclassxaCint

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論