VC++江蘇省計算機二級考試上機題庫_第1頁
VC++江蘇省計算機二級考試上機題庫_第2頁
VC++江蘇省計算機二級考試上機題庫_第3頁
VC++江蘇省計算機二級考試上機題庫_第4頁
已閱讀5頁,還剩183頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一套:ー、改錯:#include<iostream>usingnamespacestd;〃狗的顏色:黑、白、黃、褐、花、其他enumDOGCOLOR{BLACK,WHITE,YELLOW,BROWN,PIEBALD,OTHER};classDog{〃狗類DOGCOLORcolor;charname[20];staticintcount;public:Dog(charname[],DOGCOLORcolor){strcpy(this->name,name);IIerror******東*found**********this->color=color;)DOGCOLORgetColor()const{returncolor;}HERROR**********found**********constchargetName()const{return*name;)constchar*getColorString()const{switch(color){caseBLACK:return,'blackH;caseWHITE:return"white”;caseYELLOW:return^^yellow',;caseBROWN:return“brown”;casePIEBALD:return"piebald";)return"motley";}voidshow()const{cout?"Thereisa"?getColorString()?"dognamed"<<name?,.,?endl;));intmain(){11err **********found**********Dogdogl(nHoho",WHITE),dog2("Haha",BLACK),dog3("Hihi",OTHER);dogl.show();dog2.show();dog3.show();return0;二、簡單應(yīng)用:#include<iostream>#include<cmath>usingnamespacestd;classPoint{〃坐標點類public:constdoublex,y;Point(doublex=0.0,doubley=0.0):x(x),y(y){}//**********found**********doubledistanceTo(constPoint&p)const{〃到指定點的距離returnsqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));)};classLine{〃線段類public:constPointpl,p2;〃線段的兩個端點//**********found**********Line(Pointpl,Pointp2):pl(pl),p2(p2){)doublelength()const{returnpl.distanceTo(p2);}〃線段的長度};classTriangle{〃三角形類public:constPointpl,p2,p3: 〃三角形的三個頂點//**********found**********Triangle(Pointpl,Pointp2,Pointp3):p1(p1),p2(p2),p3(p3){}doublelengthl()const{〃邊pl,p2的長度returnLine(pl,p2).length();!doublelength2()const{〃邊p2,p3的長度returnLine(p2,p3).length();)doublelength3()const{〃邊p3,pl的長度returnLine(p3,pl).length();)doublearea()const{ 〃三角形面枳//不*********found**********doubles=(lengthl()+length2()+length3())/2;returnsqrt(s*(s-length1())*(s-length2())*(s-length3()));intmain(){Triangler(Point(0.0,8.0),Point(5.0,0.0),Point(0.0,0.0));cout?HSide1:n?r.length1()?endl;cout?HSide2:n?r.length2()?endl;cout?HSide3:n?r.length3()?endl;cout?*'area:H?r.area()?endl;return0;}三、綜合應(yīng)用題:#includenDataList.hnDataList::DataList(intlen,doubledata[]):len(len){d=newdouble[lenj;for(inti=0;i<len;i++)d[i]=(data==NULL?0.0:data[i]);)voidDataList::sort(){ 〃數(shù)據(jù)表排序〃********33ス********for(inti=0;i<len;++i)for(intj=i;j<len;++j)if(d[i]>dUD(inttemp=d[i];d[i]=d[jj;d[j]=temp;)〃********666********}voidDataList::show()const{〃顯示數(shù)據(jù)表for(inti=0;i<len-l;i++)cout?d[i]?n,n;cout?d[len-1]?endl;}intmain(){doubles[]={7,1,3,11,6,9,12,10,8,4,5,2};coutvv”排序前:";list.show();list.sort();coutvvendkv”排序后:list.show();writeToFile(n,\list);return0;)第二套:ー、改錯:#include<iostream>usingnamespacestd;classMyClass{public:〃frror來*********found**********MyClass(){value=0;}〃ERROR**********found**********voidsetValue(intval)(value=val;)intgetValue()const{returnvalue;}private:〃ERROR**********found**********intvalue;);intmain(){MyClassobj;obj.setValue(5);cout?”Thevalueis"?obj.getValue()?endl;obj.setValue(lO);cout?"Thevalueis"?obj.getValue()?endl;return0;二、簡單應(yīng)用:#include<iostream.h>classvehicle(private:intMaxSpeed;intWeight;public:vehicle():MaxSpeed(O),Weight(O){}vehicle(intmax_speed,intweight):MaxSpeed(max_speed),Weight(weight){}//不求********found?*求*******virtualvoidRun()(cout?"Avehicleisrunning!1'?endl;}//不*********found**********virtualvoidStop()(cout?"Avehiclehasstopped!1'?endl;));classbicycle:virtualpublicvehicle(private:intHeight;public:bicycle():Height(0){}bicycle(intmax_speed,intweight,intheight):vehicle(max_speed,weight),Height(height){};voidRun(){cout?"Abicycleisrunning!"?endl;}voidStop(){cout?"Abicyclehasstopped!"?endl;});classmotorcar:virtualpublicvehicle(private:intSeatNum;public:motorcar():SeatNum(0){}motorcar(intmax_speed,intweight,intseat_num)/ノ不*********found**********:vehicle(max_speed,weight),SeatNum(seat_num){}voidRun(){cout?"Amotorcarisrunning!"?endl;}

voidStop(){cout?”Amotorcarhasstopped!0?endl;}〃**********found**********classmotorcycle:publicbicycle,publicmotorcarpublic:motorcycle(){}motorcycle(intmax_speed,intweight,intheight,intseet_num):bicycle(max_speed,weight,height),motorcar(max_speed,weight,seet_num){};-motorcycle(){};voidRun(){cout?"Amotorcycleisrunning!'*?endl;}voidStop(){cout?**Amotorcyclehasstopped!**?endl;}};intmain()vehicle*ptr;vehiclea;a.StopO;b.StopO;ptr->Run();ptr->Run();a.StopO;b.StopO;ptr->Run();ptr->Run();b.Run();ptr=&c;ptr=&d;return0;三、綜合應(yīng)用題:#include<fstream>#include"IntArray.h"voidIntArray::sort()(〃********a3ク********for(inti=0;i<size;i++)for(intj=i+l;j<size;j++)if(data[i]>data[j])sw叩u,j);〃**9ic*****666********voidreadFromFile(constchar*f,IntArray&m)(ifstreaminfile(f);if(infile.failO){cerrvv”打開輸入文件失敗!”;return;}inti=0;while(!infile.eof()){infile?m[i++];intmain()(IntArrayal(3),a2(7),a3(1000);al[0]=3,al[l]=l,al[2]=2;a2[0]=5,a2[l]=2,a2[2]=7,a2[3]=4,a2[4]=1,a2[5]=6,a2[6]=3;readFromFile(,'in.datH,a3);cout?"…排序前ー\nM;cout?"al="?al?endl;cout?"a2="?a2?endl?endl;al.sort();a2.sort();a3.sort();cout?"ー排序后ーXn”;cout?"al="?al?endl;cout?"a2="?a2?endl?endl;writeToFile(""?a3);return0;}第三套:ー、改錯:#include<iostream>#include<iomanip>usingnamespacestd;classStopWatch〃”秒表”類(inthours; /Z 小時intminutes; /Z 分鐘intseconds; /Z 秒public:StopWatch():hours(〇),minutes(0),seconds(0){}voidreset(){hours=minutes=seconds=0;}StopWatchoperator++(int)/Z后置++(StopWatchold=*this;++(*this);returnold;}〃前進1秒StopWatch&operator++()/Z前置++(HERROR*********Sund*********if((++seconds)==60)(seconds=0;minutes++;if(minutes==60)(minutes=0;hours++;))IIerr*********^^und*********return*this;)friendvoidshow(StopWatch););voidshow(StopWatchwatch)(coutvvsetfill('0');cout?setw(2)?watch.hours<<':'<<setw(2)?watch.minutes?':'<<setw(2)<<watch.seconds?endl;intmain()StopWatchsw;show(sw);for(inti=0;i<59;i++)sw++;〃ERROR*********found*********show(++sw);return0;二、簡單應(yīng)用:#include<iostream>usingnamespacestd;classPerson)public:〃**********found**********Person(){name=NULL;}Person(char*s)name=newchar[strlen(s)+l];strcpy(name,s);-Person()if(name!=NULL)delete[]name;//**********found**********virtualvoidDisp()/Z聲明虛函數(shù)cout?”Mynameis"?name?“An”;voidsetName(char*s)name=newchar[strlen(s)+l];strcpy(name,s);)protected:char*name;);classStudent:publicPerson{public://ぎ*********found**********Student(char*s,doubleg):Person(s),gpa(g){}voidDisp()cout?”mynameis"?name?"andmyG.P.A.is"?gpa?"An";)private:floatgpa;);classProfessor:publicPerson{public:voidsetPubls(intn){publs=n;}voidDisp()cout?"Mynameis"?name?",Ihave"?pubis?"publicationsAn";)private:intpubis;);intmain()//**********found**********Person*p;Personx("Zhang");p=&x;p->Disp();Studenty("Wang",3.88);p=&y;p->Disp();Professorz;z.setName("Li");z.setPubls(8);p=&z;p->Disp();return0;三、綜合應(yīng)用題:#include"MyString.h"boolMyString::startsWith(constchar*s)const{!怦*******3々3********if(s==NULL)returntrue;intlen=strlen(s);if(len>size)returnfalse;for(inti=0;i<len;i++)if(str[i]!=s[i])returnfalse;returntrue;//********666********Iintmain(){charsi[J="abcde”;chars2[]="abc";chars3[]="abd";chars4[]廿'”;chars5[J="abcde";chars6[]="abcdef,;MyStringstr(sl);cout?"si二"vvsi?endl?“s2二"?s2?endl?"s3二"vvs3?endl?"s4二"vvs4?endl?"s5二"vvs5?endl?"s6二"vvs6?endl;cout?boolalpha?"sistartsWiths2:"?str.startsWith(s2)?endl?"sistartsWiths3:"?str.startsWith(s3)?endl?"sistartsWiths4:"?str.startsWith(s4)?endl?"sistartsWiths5:"?str.startsWith(s5)?endl?"sistartsWiths6:"?str.startsWith(s6)?endl;writeToFile("");return0;第四套:ー、改錯://projl.cpp#include<iostream>usingnamespacestd;classMyClass{intvalue;public:11errOR********found********MyClass(intval):value(val){}intGetValue()const{returnvalue;}voidSetValue(intval););〃ERROR********found********voidMyClass::SetValue(intval){value=val;}intmain()(MyClassobj(O);obj.SetValue(lO);//ERROR********found********下列語句功能是輸出obj的成員value的值cout?nThevalueis°?obj.GetValue()?endl;return0;二、簡單應(yīng)用://proj2.cpp#include<iostream>usingnamespacestd;classStack{public:virtualvoidpush(charc)=0;virtualcharpop()=0;);classArrayStack:publicStack{char*p;intmaxSize;inttop;public:ArrayStack(ints)(top=0;maxSize=s;//********found********p=newchar[s];)?ArrayStack。(〃********found********delete[]p;)voidpush(charc){if(top=maxSize){cerr?''Overflow!\nM;return;)//********found********p[top]=c;top++;)charpop()(if(top-0){cerr?"Underflow!\n";return'\0';)top-;//********found********returnp[top];});voidf(Stack&sRef)(charch[]={n」b;で};cout?ch[0]?"?ch[l]?","?ch[2]?endl;sRef.push(ch[0]);sRef.push(ch[l]);sRef.push(ch[2]);cout?sRef.popO?",";cout?sRef.popO?",";cout?sRef.popO?endl;intmain()ArrayStackas(10);f(as);return0;)三、綜合應(yīng)用題://proj3.cpp#include<iostream>#include<fstream>#include<cstring>usingnamespacestd;classdoc(private:char*str;〃文本字符串首地址intlength;〃文本字符個數(shù)public:〃構(gòu)造函數(shù),讀取文件內(nèi)容,用于初始化新對象。filename是文件名字符串首地址。doc(char*filename);voidreverse。;〃將字符序列反轉(zhuǎn)?doc。;voidwriteToFile(char*filename);};doc::doc(char*filename)(ifstreammyFile(filename);intlen=1001,tmp;str=newchar[len];length=0;while((tmp=myFile.get())!=EOF)(str[length++J=tmp;}str[length]='\O';myFile.close();)voiddoc::reverse(){〃將數(shù)組str中的length個字符中的第?個字符與最后一個字符交換,第二個字符與倒數(shù)第二個/Z字符交換……inti,j;for(i=0,j=length-1;i<j;i++,j--)(chartemp=str[i];str[i]=str[j];str[j]=temp;doc::?doc()(delete[]str;}voiddoc::writeToFile(char*filename)(ofstreamoutFile(filename);outFile?str;outFile.close();)voidmain()(docmyDoc("in.dat");myDoc.reverse();myDoc.writeToFile(,,out.datn);第五套:ー、改錯:#include<iostream>#include<cmath>usingnamespacestd;classLine;doublelength(Line);classLine{ 〃線段類doublexl,yl;〃線段端點1doublex2,y2;〃線段端點2public:HERROR**********found**********Line(doublexl,doubleyl,doublex2,doubley2){this->xl=xl;this->yl=yl;this->x2=x2;this->y2=y2;)doublegetXl()const{returnxl;}doublegetYl()const{returny1;}doublegetX2()const{returnx2;}doublegetY2()const{returny2;}voidshow()const{coutvv”Endpointl=(n?xl?H,n?yl;cout?M),Endpoint2=(n?x2?n,n?y2;IIerr******東*found**********cout?n),length=n?length(*this)?"0〇?endl;doublelength(Linel){IIERROR來*********found**********returnsqrt((l.getXi()-l.getX2())*(l.getXIQ-l.getX2())+(l.getYl()-l.getY2())*(l.getYlQ?l.getY2()));)intmain(){Linerl(1.0,8.0,5.0,2.0);rl.show();return0;)二、簡單應(yīng)用:#include<iostream>usingnamespacestd;classVectorBase{ 〃向量基類,ー個抽象類intlen;public:VectorBase(intlen):len(len){}intlength()const{returnlen;} 〃向量長度,即向量中元素的個數(shù)virtualdoublegetElement(inti)const=0;〃取第i個元素的值virtualdoublesum()const=0;〃求所有元素的和voidshow()const{ 〃顯示向量中所有元素cout?"(n;for(inti=0;i<length()-l;i++)coutvvgetElement⑴vv",“;〃**********found**********coutvvgetElement(length()?l)<v")"vvendl;〃顯示最后ー個元素);classVector:publicVectorBase{〃向量類double*val;public:Vector(intlen,doublev[]=NULL):VectorBase(len){val=newdoubleflen];for(inti=0;i<len;i++)val[i]=(v==NULL?0.0:v[ij);)//**********f^)und**********-Vector(){delete[]val;}doublegetElement(intindex)const{returnval[index];)doublesum()const{doubles=0.0;//**********found**********for(inti=0;i<length();i++)s+=val[i];returns;);classZeroVector:publicVectorBase{〃零向量類public:ZeroVector(intlen):VectorBase(len){}//不*********found**********doublegetElement(intindex)const{return0.0;}doublesum()const{return0.0;});intmain(){VectorBase*v;doubled[]={123,4,5};v=newVector(5,d);v->show();deletev;v=newZeroVector(6);v->show();deletev;return0;三、綜合應(yīng)用題:#include”SortedList.h”SortedList::SortedList(intlen,doubledata[]):len(len){d=newdoubleflen];for(intk=0;k<len;k++)d[k]=(data==NULL?0.0:data[k]);for(inti=0;i<len-l;i++){intm=i;for(intj=i;j<len;j++)if(d[j]<d[m])m=j;if(m>i){doublet=d[m];d[m]=d[i];d[i]=t;)voidSortedList::insert(doubledata){〃********3ヶ3********for(inti=0;i<len;++i)if(data<d[i])(len++;double*dd=newdouble[len];for(intk=len;k>i;k—)dd[k]=d[k-l];dd[i]=data;for(intj=0;j<i;j++)dd[j]=d[j];delete[]d;d=newdouble[len];for(intindex=0;index<len;++index)d[index]=dd[index];delete[]dd;break;〃********666米*******voidSortedList::show()const{〃顯示有序數(shù)據(jù)表for(inti=0;i<len-l;i++)cout?d[i]?H,cout?d[len-l]?endl;1intmain(){doubles[]={5,8,1,2,10,4,7);SortedListlist(7,s);coutv〈"插入前:"?endl;list.show();list.insert(6.0);list.insert(3.0);coutvv"插入6和3后:"vvendl;list.show();writeToFile("",list);return0;)第六套:ー、改錯:#include<iostream>usingnamespacestd;〃寵物類別:狗、貓、鳥、魚、爬行動物、昆蟲、其他enumPetType{DOG,CAT,BIRD,FISH,REPTILE,INSECT,OTHER};classPet{〃寵物類PetTypetype;〃類別charname[20];〃名字public:Pet(PetTypetype,charname[]){this->type=type;/Z將參數(shù)name中的字符串復(fù)制到作為數(shù)據(jù)成員的name數(shù)組中。〃ERROR**********f^)und**********strcpy(this->name,name);)IIEI^ROR**********found**********PetTypegetType()const{returntype;}constchar*getName()const{returnname;}constchar*getTypeString()const(switch(type){caseDOG:return"adog”;caseCAT:return"acat";caseBIRD:return"abird";caseFISH:return"afish";caseREPTILE:return"areptile";caseINSECT:return“aninsect";}/Z返回一個字符串,以便產(chǎn)生要求的輸出?!‥RROR**********found**********return"anunknownanimal**;}voidshow()const{cout?"Thereis"?getTypeString()?"named"?name?endl;}};intmain(){Peta_dog(DOG,"Doggie'*);Peta_cat(CAT,"Mimi");Petan_animal(OTHER,"Puppy*');a_dog.show();a_cat.show();an_animal.show();return0;二、簡單應(yīng)用://proj2.cpp#include<iostream>usingnamespacestd;〃請在該部分插入insert函數(shù)模板的實現(xiàn)template<typenameT>voidinsert(Tsetdata[],int&size,Titem)(for(inti=0;i<size;i++)//**********found**********if(item<setdatafi]){ //TODO:添加代碼,判斷查找元素的插入位置for(intj=i;j<size;j++)

//**********found**********setdata[size+i-j]=setdata[size+i-j-1]; //TODO:添加一條語句,將插入位置后的所有元素往后移動ー個位置//setdata[i]=item;size++;return;//setdata[i]=item;size++;return;//TODO:添加一條語句,將元素加到最后ー個位置上//**********found**********//TODO:添加一條語句,將元素加到最后ー個位置上size++;return;}intmain()(intidata[10]={22,35,56,128},iitem,isize=4,dsize=4,i;doubleddata[10]={25.1,33.5,48.9,75.3),ditem;cout?”Pleaseinputoneintegernumberforinserting:";cin?iitem;insert(idata,isize,iitem);for(i=0;i<isize;i++)cout?idata[ij?'cout?endl;cout?"Pleaseinputonedoublenumberforinserting:1,;cin?ditem;insert(ddata,dsize,ditem);for(i=0;i<dsize;i++)cout?ddatafi]?**;cout?endl;return0;三、綜合應(yīng)用題://proj3.cpp#include<iostream>#include<cmath>usingnamespacestd;classMyPoint( 〃表示平面坐標系中的點的類

doublex;doubley;public:MyPoint(doublex,doubley){this->x=x;this->y=y;}doublegetX()const{returnx;}doublegetY()const{returny;}voidshow()const{coutvv'('vvx<v?vvy<v')’;}classMyLine{ 〃表示線段的類MyPointpoint1;MyPointpoint2;public:〃返回端點1〃返回端點1〃返回端點2〃返回線段的長度〃返回直線的斜率MyPointendPointl()const{returnpointl;}MyPointendPoint2()const{returnpoint2;}doublelength()const;doubleslope()const;};//**]************found**********MyLine::MyLine(MyPointpl,MyPointp2):point1(pl),point2(p2){)//**,************found**********doubleMyLine::length()const(returnsqrt((point1.getX()-point2.getX())*(point1.getX()-point2.getX())+(pointl.getY()-point2.getY())*(pointl.getY()-point2.getY()));doubleMyLine::slope()const{//**3************found**********return(point2.getY()-point1.getY())/(point2.getX()-point1.getX());)intmain()(MyLineline(MyPoint(0,0),MyPoint(1,1));line.endPoint1().show();line.endPoint2().show();cout?endl?line.length()?V?line.slope()?endl;return0;)第七套:-、改錯:#include<iostream>usingnamespacestd;classABC{public:IIERROR**********found**********ABC():a(0),b(0),c(0){)ABC(intaa,intbb,intcc);voidSetab(){++a,++b;}intSum(){returna+b+c;}private:inta,b;constintc;);ABC::ABC(intaa,intbb,intcc):c(cc){a=aa;b=bb;}intmain()(ABCx(l,2,3),y(4,5,6);ABCz,*w=&z;w->Setab();〃ERROR**********found**********intsi=x.Sum()+y.Sum();cout?sl?'HERROR**********Cund**********ints2=si+w->Sum();cout?s2?endl;return0;二、簡單應(yīng)用:#include<iostream>usingnamespacestd;classBase(public:Base(intm1Jntm2){meml=ml;mem2=m2;)intsum(){returnmeml+mem2;}private:intmeml,mem2; 〃基類的數(shù)據(jù)成員};

//派生類Derived從基類Base公有繼承//*************found**************classDerived:publicBasepublic:〃構(gòu)造函數(shù)聲明Derived(intml,intm2,intm3);//sum函數(shù)定義,要求返回meml、mem2和mem3之和//*************tound**************intsum(){returnBase::sum()+mem3;}private:intmem3;private:intmem3;〃派生類本身的數(shù)據(jù)成員};〃構(gòu)造函數(shù)的類外定義,要求由m!和m2分別初始化meml和mem2,由m3初始化mem3//**********found**********Derived::Derived(intml,intm2,intm3)://**********found**********Base(ml,m2),mem3(m3){)intmain(){Basea(4,6);Derivedb(l0,15,20);intsum=a.sum()+b.sum();cout?Hsum=n?sum?endl;return0;三、綜合應(yīng)用題:include“Array.h"〃交換數(shù)組a中前后位置對稱的元素的值template<classType,intm>voidArray<Type,m>::Contrary(){〃補充函數(shù)體“********732********for(inti=0,j=m-1;i<j;i++,j—)Typetemp=a[ij;a[i]=a|j];a[j]=temp;//********666********intmain(){intsl[5]={l,2,3,4,5};doubles2[6]={1.2,2.3,3.4,45,5.6,8.4};Array<int,5>dl(sl,5);Array<double,8>d2(s2,6);inti;dl.ContraryO;d2.Contrary();cout?dl.LengthO^,?d2.Length()?endl;for(i=0;i<4;i++)cout?dl[i]?H,n;cout?d1[4|?endl;for(i=0;i<7;i++)cout?d2[i]?n,n;cout?d2[7]?endl;writeToFileC"');〃不用考慮此語句的作用return0;第八套:一\改錯://projI.cpp#include<iostream>usingnamespacestd;classMyClass{public:MyClass(inti)(value=i;cout?"Constructorcalledof"?value?endl;)11ERROR**********^Qund**********voidPrint()const{cout?"Thevalueis"?value?endl;}〃ERROR**********found**********-MyClass(){cout?"Destructorcalledof"?value?endl;}private://ERROR**速*******found**********intvalue;);intmain()(constMyClassobj(10);obj.Print();return0;二、簡單應(yīng)用://proj2.cpp#include<iostream>usingnamespacestd;constintMAXNUM=100;classBag{private:intnum;intbag[MAXNUMJ;public:Bag(intm[],intn=0);/Z構(gòu)造函數(shù)booloperator==(Bag&b);/Z重載運算符二二int!nBag(intball);/Z某ー小球在袋子內(nèi)的出現(xiàn)次數(shù),返回〇表示不存在);Bag::Bag(intm[],intn)(if(n>MAXNUM){cerr?"Toomanymembers\nM;exit(-l);}for(inti=0;i<n;i++)bag[i]=m[ij;num=n;}boolBag:operator=(Bag&b)/Z實現(xiàn)運算符函數(shù)ニニif(num!=b.num)/Z元素個數(shù)不同returnfalse;for(inti=0;i<num;i++)//**********found**********if(InBag(bag[i])!=b.InBag(bag[i])) //TODO:加入條件,判斷當(dāng)前袋子中每個元素在當(dāng)前袋子和袋子b中是否出現(xiàn)次數(shù)不同〃**********found**********returnfalse;returntrue;)//TODO:加入一條語句intBag::InBag(intball)intcount=0;for(inti=0;i<num;i++)//**********found**********if(ball==bag[i])當(dāng)前袋子中某一元素相同//**********found**********count++;returncount;//TODO:加入條件,判斷小球ball是否與//TODO:加入ー一條語句intmain()(intdata[MAXNUM],n,i;cin?n;for(i=0;i<n;i++)cin?data[i];Bagbl(data,n);/Z創(chuàng)建袋子對象blcin?n;for(i=0;i<n;i++)cin?data[i];Bagb2(data,n); /7創(chuàng)建袋子對象b2if(bl==b2) 〃測試b!和b2是否相同cout?MBagblissamewithBagb2\n”;elsecout?"BagblisnotsamewithBagb2\n";return0;三、綜合應(yīng)用題://proj3,cpp#include<iostream>#include<cmath>usingnamespacestd;classMyPoint( 〃表示平面坐標系中的點的類doublex;doubley;public:MyPoint(doublex,doubley){this->x=x;this->y=y;}doublegetX()const{returnx;}doublegetY()const{returny;}voidshow()const{coutvv'('v<x<v','vvyvv')’;}〃表示三角形的類〃三角形的第一個頂點〃三角形的第二個頂點〃三角形的第三個頂點〃表示三角形的類〃三角形的第一個頂點〃三角形的第二個頂點〃三角形的第三個頂點classMyTriangle{MyPointpoint1;MyPointpoint2;MyPointpoint3;public:MyTriangle(MyPointpl,MyPointp2,MyPointp3);doubleperimeter()const; 〃返回三角形的周長doublearea()const; 〃返回三角形的面積};//**I************f^^und**********MyTriangle::MyTriangle(MyPointpl,MyPointp2,MyPointp3):point1(pl),point2(p2),point3(p3)()doubledistance(MyPointpl,MyPointp2) 〃返回兩點之間的距離returnsqrt((p1.getX()-p2.getX())*(pl.getX()-p2.getX())+(Pl.getY()-p2.getY())*(p1.getY()-p2.getY()));//**2************found**********doubleMyTriangle::perimeter()constreturndistance(point1,point2)+distance(point2,point3)+distance(point3,point1);doubleMyTriangle::area()const{/y**3************found**********〃使用perimeter函數(shù)doubles=〃使用perimeter函數(shù)returnsqrt(s*(s-distance(point1,point2))*(s-distance(point2,point3))*(s-distance(point3,point1)));)intmain()(MyTriangletri(MyPoint(0,2),MyPoint(2,0),MyPoint(0,0));cout?tri.perimeter()?endl?tri.area()?endl;return0;第九套:ー、改錯:#include<iostream>usingnamespacestd;classScore{public:Score(constchar*the_course,constchar*the_id,intthe_normal,intthe_midterm,intthe_end_ofLterm): course(the_course),normal(the_normal),midterm(the_midterm),end_of_term(the_end_of_term){HERROR**********found**********strcpy(student_id,the_id);)constchar*getCourse()const{returncourse;}〃)constchar*getCourse()const{returncourse;}〃ERROR**********fo(jf|(j**********constchar*getID()const{returnstudent_id;}intgetNormal()const{returnnormal;}intgetMidterm()const{returnmidterm;}intgetEndOfTerm()const{returnend_oCterm;}〃返回課程名稱intgetFinaI()const;private:constchar*course;charstudent_id[12];intnormal;intmidterm;intend_of_term;〃課程名稱〃學(xué)號〃平時成績〃期中考試成績〃期末考試成績〃返回學(xué)號〃返回平時成績〃返回期中考試成績〃返回期末考試成績〃返回總評成績);〃總評成績中平時成績占20%,期中考試占30%,期末考試占50%,最后結(jié)果四舍五入為ー個整數(shù)〃ERROR**********found**********intScore::getFinal()const{returnnormal*0.2+midterm*0.3+end_of_term*0.5+0.5;}intmain(){charEnglishロゴ英語”;Scorescore(English,”l2345678”,68,83,92);couivv”學(xué)號:“vvscore.getID()vv" ”;coutvv”課程:"?score.getCourse()?ncoutvv”總評成績:”v<score.getFinal()vvendl;return0;二、簡單應(yīng)用:#include<iostream>usingnamespacestd;classClass{ //“班級”類public:Class(constchar*id,constchar*room){strcpy(class_id,id);//**********found**********strcpy(classroom,room);}constchar*getClassID()const{returnclass_id;} 〃返回班號//**********found**********constchar*getClassroom()const{returnclassroom;}〃返回所在教室房號voidchangeRoomTo(constchar*new_room){〃改換到另,個指定房號的教室strcpy(classroom,new_room);}private:charclass_id[20];〃班號charclassroom[20];〃所在教室房號};classStudent{ //“學(xué)生”類charmy_id[10];〃學(xué)號charmy_name[20];〃姓名Class&my_class;〃所在教室public://**********found**********Student(constchar*the_id,constchar*the_name,Class&the_class):my_class(the_class){strcpy(my_id,the_id);strcpy(my_name,the_name);}constchar*getID()const{returnmy_id;}constchar*getName()const{returnmy_name;}ClassgetClass()const{returnmy_class;}};voidshowStudent(Student*stu){coutvv"學(xué)號:,,?stu->getID()?*'coutvv”姓名:,,?stu->getName()?ncoutvv"班級:"?stu->getClass().getClassID()?"cout?"教室:"?stu->getClass().getClassroom()?endl;}intmain(){Classcla("062113","521");StudentZhang(“0789”,“張三”,cla),Li(“0513“,“李四”,cla);coutvv”改換教室前:"vvendl;showStudent(&Zhang);showStudent(&Li);〃062113班的教室由521改換到311//**********found**********cla.changeRoomTo(u31lu);coutvv”改換教室后:“vvendl;showStudent(&Zhang);showStudent(&Li);return0;三、綜合應(yīng)用題:#include”Polynomial.h"doublePolynomial::getValue(doublex)const{/Z多項式的值value為各次項的累加和doublevalue=coef[〇];for(inti=1;i<num_ofLterms;i++)intj=i-1;doublex_value=x;while(j>0)(x_value*=x;j-s)value+=coef[i]*x_value;)〃********666********returnvalue;}第十套:ー、改錯:#include<iostream>usingnamespacestd;classMyClass{int*p;constintN;public:〃ERRC)R**********found**********MyClass(intval):N(1)(p=newint;*p=val;}IIERROR**********tound**********?MyClass。{delete[]p;}friendvoidprint(MyClass&obj););IIerrOR**********found**********voidprint(MyClass&obj)cout?Hvalue="?*(obj.p)?endl;cout?”number="?obj.N?endl;intmain()(MyClassobj(63);print(obj);return0;二、簡單應(yīng)用:#include<iostream>usingnamespacestd;classComponent{public:〃聲明純虛函數(shù)print()〃**********found**********virtualvoidprint()const=0;);classComposite:publicComponent(public:/ノ不*********found**********voidsetChild(Component*child)m_child=child;virtualvoidprint()constm_child->print();private:Component*m_child;);classLeaf:publicComponent{public:virtualvoidprint()const//**********found****來*****cout?"LeafNode"?endl;intmain()(Leafnode;Compositecomp;comp.setChild(&node);Component*p=∁p->print();return0;三、綜合應(yīng)用題:#include"Matrix.h"#include<fstream>voidreadFromFile(constchar*f,Matrix&m){ifstreaminfile(f);;return;}if(infile.fail()){cerrvv”打開輸入文件失敗!intk;;return;}for(inti=0;i<M;i++)for(intj=0;jvN;j++){infile?k;m.setElement(i,j,k);intMatrix::max_value()const{〃********33q********inttemp=0;for(inti=0;i<M;i++)for(intj=0;j<N;j++)if(temp<array[i][j])temp=array[i][j];returntemp;〃********666********intmain()Matrixm;readFromFiIe(,'in.dat",m);m.show(nMatrix:H);coutvvendkc”最大元素:M?m.max_value()?endl;writeToFile(',,\m);return0;第11套:ー、改錯://projl.cpp#include<iostream>usingnamespacestd;classMyClass{public:〃err**********found**********MyClass(inti=0):value(i){count++;}voidPrint(){cout?"Thereare"?count?"object(s)."?endl;}private:constintvalue;staticintcount;〃ERROR**********found**********intMyClass::count=0;intmain()MyClassobj1,obj2;HERROR**********found**********obj2.Print();return0;二、簡單應(yīng)用:

//proj2.cpp#include<iostream>usingnamespacestd;/Z緩沖區(qū)大小/Z/Z緩沖區(qū)大小/Z緩沖區(qū)/Z將字符串s復(fù)制到buf中intsize;char*buf;public:String(intbufsize);voidStrcpy(char*s);voidPrint。const;?String。{if(buf!=NULL)delete[]buf;}};String::String(intbufsize)size=bufsize;buf=newchar[size];*buf=\0';voidString::Strcpy(char*s)char*p,*q;intlen=strlen(s);if(len+1>size){ 〃緩沖區(qū)空間不夠,須安排更大空間size=len+1;p=q=newchar[size];//**********found**********while((*q=*s)!=O){++q;++s;}//TODO:添加代碼將字符串s拷貝到字符指針qdelete[]buf;buf=p;)else{//*不********found*******ホ**for(p=buf;(*p=*s)!=0;p++,s++);//TODO:添加代碼將字符串s拷貝到buf中voidString::Print()constcout?size?'\t*?buf?endl;)intmain()(chars[100];Stringstr(32);cin.getline(s,99);str.Strcpy(s);str.Print();return0;三、綜合應(yīng)用題://proj3.cpp#include<iostream>#include<cmath>usingnamespacestd;classMyPoint{ 〃表示平面坐標系中的點的類doublex;doubley;public:MyPoint(doublex,doubley){this->x=x;this->y=y;}doublegetX()const{returnx;}doublegetY()const{returny;}voidshow()const{coutvv'('vvxvv','<vyvv')’;});classMyCircle{ 〃表示圓形的類MyPointcen; 〃圓心doublerad; 〃半徑public:MyCircle(MyPoint,double);MyPointcenter()const{returncen;}〃返回圓心doubleradius()const{returnrad;} 〃返回圓半徑frienddoublearea(MyCircle); 〃返回圓的面積};//**I************f^^und**********MyCircle::MyCircle(MyPointp,doubler):cen(p),rad(r){}#definePI3.1415926535doubleperimeter(MyCirclec) 〃返回圓c的周長{〃**2

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論