C++ Primer Plus6 第七章 程序清单.docx
- 文档编号:5728633
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:20
- 大小:18.74KB
C++ Primer Plus6 第七章 程序清单.docx
《C++ Primer Plus6 第七章 程序清单.docx》由会员分享,可在线阅读,更多相关《C++ Primer Plus6 第七章 程序清单.docx(20页珍藏版)》请在冰豆网上搜索。
C++PrimerPlus6第七章程序清单
7.1calling.cpp
#include
voidsimple();
intmain()
{
usingnamespacestd;
cout<<"main()willcallthesimple()function:
"< simple(); cout<<"main()isfinishedwiththesimple()function."< return0; } voidsimple() { usingnamespacestd; cout<<"I'mbutasimplefunction."< } 7.2protos.cpp #include voidcheers(int); doublecube(doublex); intmain() { usingnamespacestd; cheers(5); cout<<"Givemeanumber: "; doubleside; cin>>side; doublevolume=cube(side); cout<<"A"< cout< cheers(cube (2)); return0; } voidcheers(intn) { usingnamespacestd; for(inti=0;i cout<<"Cheers! "< } doublecube(doublex) { returnx*x*x; } 7.3twoarg.cpp #include usingnamespacestd; voidn_chars(char,int); intmain() { inttimes; charch; cout<<"Enteracharacter: "; cin>>ch; while(ch! ='q') { cout<<"Enteraninteger: "; cin>>times; n_chars(ch,times); cout< "; cin>>ch; } cout<<"Thevalueoftimesis"< cout<<"Bye"< return0; } voidn_chars(charc,intn) { while(n-->0) cout< } 7.4lotto.cpp #include longdoubleprobability(unsignednumbers,unsignedpicks); intmain() { usingnamespacestd; doubletotal,choices; cout<<"Enterthetotalnumberofchoicesonthegamecard"< "< while((cin>>total>>choices)&&choices<=total) { cout<<"Youhaveonechancein"; cout< cout<<"ofwinning."< cout<<"Nexttwonumbers(qtoquit): "; } cout<<"bye."< return0; } longdoubleprobability(unsignednumbers,unsignedpicks) { longdoubleresult=1.0; longdoublen; unsignedp; for(n=numbers,p=picks;p>0;n--,p--) result=result*n/p; returnresult; } 7.5arrfun1.cpp #include constintArSize=8; intsum_arr(intarr[],intn); intmain() { usingnamespacestd; intcookies[ArSize]={1,2,4,8,16,64,128}; intsum=sum_arr(cookies,ArSize); cout<<"Totalcookieseaten: "< return0; } 7.6arrfun2.cpp intsum_arr(intarr[],intn) { inttotal=0; for(inti=0;i total=total+arr[i]; returntotal; } #include constintArSize=8; intsum_arr(intarr[],intn); usingnamespacestd; intmain() { intcookies[ArSize]={1,2,4,8,16,32,64,128}; cout< cout< intsum=sum_arr(cookies,ArSize); cout<<"Totalcookieseaten: "< sum=sum_arr(cookies,3); cout<<"Firstthreeeatersate"< sum=sum_arr(cookies+4,4); cout<<"Lastfoureatersate"< return0; } intsum_arr(intarr[],intn) { inttotal=0; cout< cout< for(inti=0;i total=total+arr[i]; returntotal; } 7.7.arrfun3.cpp #include constintMax=5; intfill_array(doublear[],intlimit); voidshow_array(constdoublear[],intn); voidrevalue(doubler,doublear[],intn); intmain() { usingnamespacestd; doubleproperties[Max]; intsize=fill_array(properties,Max); show_array(properties,size); if(size>0) { cout<<"Enterrevaluationfactor: "; doublefactor; while(! (cin>>factor)) { cin.clear(); while(cin.get()! ='\n') continue; cout<<"Badinput;pleaseenteranumber: "; } revalue(factor,properties,size); show_array(properties,size); } cout<<"Done.\n"; cin.get(); cin.get(); return0; } intfill_array(doublear[],intlimit) { usingnamespacestd; doubletemp; inti; for(i=0;i { cout<<"Entervalue#"<<(i+1)<<": "; cin>>temp; if(! cin) { cin.clear(); while(cin.get()! ='\n') continue; cout<<"Badinput;inputprocessterminated.\n"; break; } elseif(temp<0) break; ar[i]=temp; } returni; } 7.8arrfun4.cpp voidshow_array(constdoublear[],intn) { usingnamespacestd; for(inti=0;i { cout<<"Property#"<<(i+1)<<": $"; cout< } } voidrevalue(doubler,doublear[],intn) { for(inti=0;i ar[i]*=r; } #include constintArSize=8; intsum_arr(constint*begin,constint*end); intmain() { usingnamespacestd; intcookies[ArSize]={1,2,3,8,16,32,64,128}; intsum=sum_arr(cookies,cookies+ArSize); cout<<"Totalcookieseaten: "< sum=sum_arr(cookies,cookies+3); cout<<"Firstthreeeatersate"< sum=sum_arr(cookies+4,cookies+8); cout<<"Lastfoureatersate"< return0; } intsum_arr(constint*begin,constint*end) { constint*pt; inttotal=0; for(pt=begin;pt! =end;pt++) total=total+*pt; returntotal; } 7.9strgfun.cpp #include unsignedintc_in_str(constchar*str,charch); intmain() { usingnamespacestd; charmmm[15]="minimum"; char*wail="ululate"; unsignedintms=c_in_str(mmm,'m'); unsignedintus=c_in_str(wail,'u'); cout< cout< return0; } 7.10strgback.cpp unsignedintc_in_str(constchar*str,charch) { unsignedintcount=0; while(*str) { if(*str==ch) count++; str++; } returncount; } #include char*buildstr(charc,intn); intmain() { usingnamespacestd; inttimes; charch; cout<<"Enteracharacter: "; cin>>ch; cout<<"Enteraninteger: "; cin>>times; char*ps=buildstr(ch,times); cout< delete[]ps; ps=buildstr('+',20); cout< delete[]ps; return0; } char*buildstr(charc,intn) { char*pstr=newchar[n+1]; pstr[n]='\0'; while(n-->0) pstr[n]=c; returnpstr; } 7.11travel.cpp #include structtravel_time { inthours; intmins; }; constintMins_per_hr=60; travel_timesum(travel_timet1,travel_timet2); voidshow_time(travel_timet); intmain() { usingnamespacestd; travel_timeday1={5,45}; travel_timeday2={4,55}; travel_timetrip=sum(day1,day2); cout<<"Two-daytotal: "; show_time(trip); travel_timeday3={4,32}; cout<<"Three-daytotal: "; show_time(sum(trip,day3)); return0; } travel_timesum(travel_timet1,travel_timet2) { travel_timetotal; total.mins=(t1.mins+t2.mins)%Mins_per_hr; total.hours=t1.hours+t2.hours+(t1.mins+t2.mins)/Mins_per_hr; returntotal; } voidshow_time(travel_timet) { usingnamespacestd; cout< } 7.12atrctfun.cpp #include #include structpolar { doubledistance; doubleangle; }; structrect { doublex; doubley; }; polarrect_to_polar(rectxypos); voidshow_polar(polardapos); intmain() { usingnamespacestd; rectrplace; polarpplace; cout<<"Enterthexandyvalues: "; while(cin>>rplace.x>>rplace.y) { pplace=rect_to_polar(rplace); show_polar(pplace); cout<<"Nexttwonumbers(qtoqiut): "; } cout<<"Done."< return0; } polarrect_to_polar(rectxypos) { usingnamespacestd; polaranswer; answer.distance=sqrt(xypos.x*xypos.x+xypos.y+xypos.y); answer.angle=atan2(xypos.y,xypos.x); returnanswer; } voidshow_polar(polardapos) { usingnamespacestd; constdoubleRad_to_deg=57.29577951; cout<<"distance="< cout<<",angle="< cout<<"degrees"< } n 7.13atrctptr.cpp #include #include structpolar { doubledistance; doubleangle; }; structrect { doublex; doubley; }; voidrect_to_polar(constrect*pxy,polar*pda); voidshow_polar(constpolar*pda); intmain() { usingnamespacestd; rectrplace; polarpplace; cout<<"Enterthexandyvalues: "; while(cin>>rplace.x>>rplace.y) { rect_to_polar(&rplace,&pplace); show_polar(&pplace); cout<<"Nexttwonumber(qtoquit): ";//不一定是q,因为cin其实只能判断字母和数字 } cout<<"Done."< return0; } voidshow_polar(constpolar*pda) { usingnamespacestd; constdoubleRad_to_deg=57.29577951; cout<<"distance="< cout<<",angle="< cout<<"degrees."< } voidrect_to_polar(constrect*pxy,polar*pda) { usingnamespacestd; pda->distance=sqrt(pxy->x*pxy->x+pxy->y*pxy->y); pda->angle=atan2(pxy->y,pxy->x); } 7.14topfive.cpp #include #include usingnamespacestd; constintSIZE=5; voiddisplay(conststringsa[],intn); intmain() { stringlist[SIZE]; cout<<"Enteryour"< "< for(inti=0;i { cout< "; getline(cin,list[i]); } cout<<"Yourlist: "< display(list,SIZE); return0; } voiddisplay(conststringsa[],intn) { for(inti=0;i cout< "< } 7.15arrobj.cpp #include #include #include constintSeasons=4; conststd: : array : string,Seasons>Snames={"Spring","Summer","Fall","Winter"}; voidfill(std: : array voidshow(std: : array intmain() { std: : array fill(&expenses); show(expenses); return0; } voidfill(std: : array { usingnamespacestd; for(inti=0;i { cout<<"Enter"< "; cin>>(*pa)[i]; } } voidshow(std: : array { usingnamespacestd; doubletotal=0.0; cout<<"\nEXPENSES\n"; for(inti=0;i { cout< $"< total+=da[i]; } cout<<"TotalExpenses: $"< } 7.16recur.cpp #include voidcountdown(intn); intmain() { countdo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ Primer Plus6 第七章 程序清单 第七 程序 清单