CPrimerPlus第七章程序清单.doc_第1页
CPrimerPlus第七章程序清单.doc_第2页
CPrimerPlus第七章程序清单.doc_第3页
CPrimerPlus第七章程序清单.doc_第4页
CPrimerPlus第七章程序清单.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

7.1 calling.cpp#includevoid simple();int main()using namespace std;coutmain() will call the simple() function:endl;simple();coutmain() is finished with the simple() function.endl;return 0;void simple()using namespace std;coutIm but a simple function.endl;7.2 protos.cpp#includevoid cheers(int);double cube(double x);int main()using namespace std;cheers(5);coutside;double volume=cube(side);coutAside-foot cube has a volume of ;coutvolume cubic feet.endl;cheers(cube(2);return 0;void cheers(int n)using namespace std;for (int i=0;in;i+)coutCheers! endl;double cube(double x)return x*x*x;7.3 twoarg.cpp#includeusing namespace std;void n_chars(char,int);int main()int times;char ch;coutch;while (ch!=q)couttimes;n_chars(ch,times);coutendlch;coutThe value of times is timesendl;coutBye0)coutc;7.4 lotto.cpp#includelong double probability(unsigned numbers,unsigned picks);int main()using namespace std;double total,choices;coutEnter the total number of choices on the game card endland the number of picks allowed:totalchoices)&choices=total)coutYou have one chance in ;coutprobability(total,choices);cout of winning.endl;coutNext two numbers (q to quit):;coutbye.0;n-,p-)result=result*n/p;return result;7.5 arrfun1.cpp#includeconst int ArSize=8;int sum_arr(int arr,int n);int main()using namespace std;int cookiesArSize=1,2,4,8,16,64,128;int sum=sum_arr(cookies,ArSize);coutTotal cookies eaten: sumendl;return 0;7.6 arrfun2.cppint sum_arr(int arr,int n)int total=0;for (int i=0;in;i+)total=total+arri;return total;#includeconst int ArSize=8;int sum_arr(int arr,int n);using namespace std;int main()int cookiesArSize=1,2,4,8,16,32,64,128;coutcookies=array address, ;coutsizeof cookies=sizeof cookiesendl;int sum=sum_arr(cookies,ArSize);coutTotal cookies eaten: sumendl;sum=sum_arr(cookies,3);coutFirst three eaters atesum cookies.endl;sum=sum_arr(cookies+4,4);coutLast four eaters ate sum cookies.endl;return 0;int sum_arr(int arr,int n)int total=0;coutarr = arr, ;coutsizeof arr =sizeof arrendl;for (int i=0;in;i+)total=total+arri;return total;7.7. arrfun3.cpp#includeconst int Max=5;int fill_array(double ar,int limit);void show_array(const double ar,int n);void revalue(double r,double ar,int n);int main()using namespace std;double propertiesMax;int size=fill_array(properties,Max);show_array(properties,size);if (size0)coutfactor)cin.clear();while(cin.get()!=n)continue;coutBad input;please enter a number:; revalue(factor,properties,size); show_array(properties,size);coutDone.n;cin.get();cin.get();return 0;int fill_array(double ar,int limit)using namespace std;double temp;int i;for(i=0;ilimit;i+)coutEnter value #(i+1)temp;if(!cin)cin.clear();while(cin.get()!=n)continue;coutBad input;input process terminated.n;break;else if(temp0)break;ari=temp;return i;7.8 arrfun4.cppvoid show_array(const double ar,int n)using namespace std;for(int i=0;in;i+)coutProperty #(i+1): $;coutariendl;void revalue(double r,double ar,int n)for(int i=0;in;i+)ari*=r;#includeconst int ArSize=8;int sum_arr(const int *begin,const int *end);int main()using namespace std;int cookiesArSize=1,2,3,8,16,32,64,128;int sum=sum_arr(cookies,cookies+ArSize);coutTotal cookies eaten: sumendl;sum=sum_arr(cookies,cookies+3);coutFirst three eaters atesum cookies.endl;sum=sum_arr(cookies+4,cookies+8);coutLast four eaters ate sum cookies.endl;return 0;int sum_arr(const int *begin,const int *end)const int *pt;int total=0;for(pt=begin;pt!=end;pt+)total=total+*pt;return total;7.9 strgfun.cpp#includeunsigned int c_in_str(const char *str,char ch);int main()using namespace std;char mmm15=minimum;char *wail=ululate;unsigned int ms=c_in_str(mmm,m);unsigned int us=c_in_str(wail,u);coutms m characters in mmmendl;coutus u characters in wailendl;return 0;7.10 strgback.cppunsigned int c_in_str(const char *str,char ch)unsigned int count=0;while(*str)if(*str=ch)count+;str+;return count;#includechar *buildstr(char c,int n);int main()using namespace std;int times;char ch;coutch;couttimes;char *ps=buildstr(ch,times);coutpsendl;delete ps;ps=buildstr(+,20);coutps-DONE-ps0)pstrn=c;return pstr;7.11 travel.cpp#includestruct travel_timeint hours;int mins;const int Mins_per_hr=60;travel_time sum(travel_time t1,travel_time t2);void show_time(travel_time t);int main()using namespace std;travel_time day1=5,45;travel_time day2=4,55;travel_time trip=sum(day1,day2);coutTwo-day total:;show_time(trip);travel_time day3=4,32;coutThree-day total:;show_time(sum(trip,day3);return 0;travel_time sum(travel_time t1,travel_time t2)travel_time total;total.mins=(t1.mins+t2.mins)%Mins_per_hr;total.hours=t1.hours+t2.hours+(t1.mins+t2.mins)/Mins_per_hr;return total;void show_time(travel_time t)using namespace std;coutt.hours hours, t.mins minutes.endl;7.12 atrctfun.cpp#include#includestruct polardouble distance;double angle;struct rectdouble x;double y;polar rect_to_polar(rect xypos);void show_polar(polar dapos);int main()using namespace std;rect rplace;polar pplace;coutrplace.xrplace.y)pplace=rect_to_polar(rplace);show_polar(pplace);coutNext two numbers(q to qiut): ;coutDone.endl;return 0;polar rect_to_polar(rect xypos)using namespace std;polar answer;answer.distance=sqrt(xypos.x*xypos.x+xypos.y+xypos.y);answer.angle=atan2(xypos.y,xypos.x);return answer;void show_polar(polar dapos)using namespace std;const double Rad_to_deg=57.29577951;coutdistance=dapos.distance;cout,angle=dapos.angle*Rad_to_deg;cout degreesendl; n7.13 atrctptr.cpp#include#includestruct polardouble distance;double angle;struct rectdouble x;double y;void rect_to_polar(const rect *pxy,polar *pda);void show_polar(const polar *pda);int main()using namespace std;rect rplace;polar pplace;coutrplace.xrplace.y)rect_to_polar(&rplace,&pplace);show_polar(&pplace);coutNext two number(q to quit): ;/不一定是q,因为cin其实只能判断字母和数字coutDone.endl;return 0;void show_polar(const polar *pda)using namespace std;const double Rad_to_deg=57.29577951;coutdistance=distance;cout,angle=angle*Rad_to_deg;cout degrees.distance=sqrt(pxy-x*pxy-x+pxy-y*pxy-y);pda-angle=atan2(pxy-y,pxy-x);7.14 topfive.cpp#include#includeusing namespace std;const int SIZE=5;void display(const string sa,int n);int main()string listSIZE;coutEnter your SIZE favorite astronomical sights:endl;for(int i=0;iSIZE;i+)couti+1: ;getline(cin,listi);coutYour list:endl;display(list,SIZE);return 0;void display(const string sa,int n)for(int i=0;in;i+)couti+1: saiendl;7.15 arrobj.cpp#include#include#includeconst int Seasons=4;const std:array Snames=Spring,Summer,Fall,Winter;void fill(std:array * pa);void show(std:array da);int main() std:array expenses;fill(&expenses);show(expenses);return 0;void fill(std:array *pa)using namespace std;for(int i=0;iSeasons;i+)coutEnter Snamesi(*pa)i;void show(std:array da)using namespace std;double total=0.0;coutnEXPENSESn;for(int i=0;iSeasons;i+)coutSnamesi:$daiendl;total+=dai;coutTotal Expenses:$totalendl;7.16 recur.cpp#includevoid countdown(int n);int main()countdown(4);return 0;void countdown(int n)using namespace std;coutCounting down . n0)countdown(n-1);coutn: Kaboom!endl;7.17 ruler.cpp#includeconst int Len=66;const int Divs=6;void subdivide(char ar,int low,int high,int level);int main()char rulerLen;int i;for(i=1;iLen-2;i+)ruleri= ;rulerLen-1=0;int max=Len-2;int min=0;rulermin=rulermax=|;std:coutrulerstd:endl;for(i=1;i=Divs;i+)subdivide(ruler,min,max,i);std:coutrulerstd:endl;for(int j=1;jLen-2;j+) /reset to blank rulerrulerj= ;return 0;void subdivide(char ar,int low,int high,int level)if(level=0)return;int mid=(high+low)/2;armid=|;subdivide(ar,low,mid,level-1);subdivide(ar,mid,high,level-1);7.18 fun_ptr.cpp#includedouble betsy(int);double pam(int);void estimate(int lines,double (*pf)(int);int main()using namespace std;int code;coutcode;coutHeres Bestys estimate:endl;estimate(code,betsy);coutHeres Pams estimate:endl;estimate(code,pam);return 0;double betsy(int lns)return 0.05*lns;double pam(int lns)return 0.03*lns+0.0004*lns*lns;void estimate(int lines,double (*pf)(int)using namespace std;coutlines lines will take ;cout(*pf)(lines) hour(s)endl;7.19 artupt.cpp#includeconst double *f1(const double ar,int n);const double *f2(const double ,int);const double *f3(const double *,int);int main()using namespace std;double av3=1112.3,1542.6,222.9;const

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论