C++语言程序设计三.pptVIP

  • 3
  • 0
  • 约1.06万字
  • 约 75页
  • 2022-10-19 发布于广西
  • 举报
2021/7/26 * 缺省形参值的作用 函数在声明时可以预先给出缺省的形参值,调用时如给出实参,则采用实参值,否则采用预先给出的缺省形参值。 例如: int add(int x = 5,int y = 6) { return x + y; } int main() { add(10,20);//10+20 add(10); //10+6 add(); //5+6 } 带缺省形参值的函数 . 2021/7/26 * 缺省形参值的说明次序 有缺省参数的形参必须在形参列表的最后,也就是说缺省形参值的右面不能有无缺省值的参数。因为调用时实参与形参的结合是从左向右的顺序。 例: int add(int x, int y = 5, int z = 6);//正确 int add(int x = 1, int y = 5, int z);//错误 int add(int x = 1, int y, int z = 6);//错误 带缺省形参值的函数 . int main() { double k, r, s; cout r = ; cin r; cout s = ; cin s; if (r * r = s * s) k = sqrt(tsin(r) * tsin(r) + tsin(s) * tsin(s)); else k = tsin(r * s) / 2; cout k endl; return 0; } 运行结果: r=5 s=8 1.37781 * * . 2021/7/26 * 例3-6投骰子的随机游戏 每个骰子有六面,点数分别为1、2、3、4、5、6。游戏者在程序开始时输入一个无符号整数,作为产生随机数的种子。 每轮投两次骰子,第一轮如果和数为7或11则为胜,游戏结束;和数为2、3或12则为负,游戏结束;和数为其它值则将此值作为自己的点数,继续第二轮、第三轮...直到某轮的和数等于点数则取胜,若在此前出现和数为7则为负。 由rolldice函数负责模拟投骰子、计算和数并输出和数。 函数的声明与使用 . rand 函数原型:int rand(void); 所需头文件:cstdlib 功能和返回值:求出并返回一个伪随机数 srand 函数原型:void srand(unsigned int seed); 参数:seed产生随机数的种子。 所需头文件:cstdlib 功能:为使rand()产生一序列伪随机整数而设置起始点。使用1作为seed参数,可以重新初化rand()。 * * . #include iostream #include cstdlib using namespace std; ? //投骰子、计算和数、输出和数 int rollDice() { int die1 = 1 + rand() % 6; int die2 = 1 + rand() % 6; int sum = die1 + die2; cout player rolled die1 + die2 = sum endl; return sum; } * * . enum GameStatus { WIN, LOSE, PLAYING }; ? int main() { int sum, myPoint; GameStatus status; ? unsigned seed; cout Please enter an unsigned integer: ; cin seed;//输入随机数种子 srand(seed);//将种子传递给rand() ? sum = rollDice(); //第一轮投骰子、计算和数 * * . switch (sum) { case 7: //如果和数为7或11则为胜,状态为WIN case 11: status = WIN; break; case 2: //和数为2、3或12则为负,状态为LOSE case 3: case 12: status = LOSE; break; default: //其它情况,游戏尚无结果,状态为PLAYING,记下点数,为下一轮做准备 status = PLAYING; myPoint = sum; cout point is myPoint endl; break; } * * . while (status == PLAYING) { //只要状态仍为PLAYING,就继续进行下一轮 sum = rollDice(); if (sum == myPoint) //某轮的和数等

文档评论(0)

1亿VIP精品文档

相关文档