📄 tortoiseandhare.cpp
字号:
// Chapter 5 of C++ How to Program
// tortoiseandhare.cpp
// 龟兔赛跑
//注意按指针(按址)传递参数来调用函数。
//当y为5时,兔子往前跑,其余则不动(睡觉)来模拟兔子的行为
#include <iostream>
using std::cout;
using std::endl;
#include <cstdlib>
#include <ctime>
#include <iomanip>
using std::setw;
const int RACE_END = 70;
/* Write prototype for moveTortoise here */
/* Write prototype for moveHare here */
/* Write prototype for printCurrentPositions here */
int main()
{
int tortoise = 1;
int hare = 1;
int timer = 0;
srand( time( 0 ) );
cout << "ON YOUR MARK, GET SET\nBANG !!!!"//各就各位
<< "\nAND THEY ARE OFF !!!!\n";
// controls race
while ( tortoise != RACE_END && hare != RACE_END ) {
/* Write call for moveTortoise here */
/* Write call for moveHare here */
/* Write call for printCurrentPositions here */
++timer;
} // end while
// determine winner
if ( tortoise >= hare )
cout << "\nTORTOISE WINS!!! YAY!!!\n";
else
cout << "Hare wins. Yuch.\n";
cout << "TIME ELAPSED = " << timer << " seconds" << endl;
system("PAUSE");
return 0;
} // end main
// move tortoise
/* Write function definition header for moveTortoise here */
{
int x = 1 + rand() % 10;
// determine which move to make
if ( x >= 1 && x <= 5 ) // fast plod(快走)
*turtlePtr += 3;
else if ( x == 6 || x == 7 ) // slip(滑倒)
*turtlePtr -= 6;
else // slow plod(慢走)
++( *turtlePtr );
// ensure that(确保) tortoise remains within subscript range(下标)
if ( *turtlePtr < 1 )
*turtlePtr = 1;
else if ( *turtlePtr > RACE_END )
*turtlePtr = RACE_END;
} // end function moveTortoise
// move hare
/* Write function definition for moveHare here */
{
int y = 1 + rand() % 10;
/* Write statements that move hare */
/* Write statements that test if hare is before
the starting point or has finished the race */
} // end function moveHare
// output positions of animals
/* Write function definition for printCurrentPositions here */
{
if ( *bunnyPtr == *snapperPtr ) //bunny:小兔子
cout << setw( *bunnyPtr ) << "OUCH!!!";
else if ( *bunnyPtr < *snapperPtr )
cout << setw( *bunnyPtr ) << "H"
<< setw( *snapperPtr - *bunnyPtr ) << "T";
else
cout << setw( *snapperPtr ) << "T"
<< setw( *bunnyPtr - *snapperPtr ) << "H";
cout << "\n";
} // end function printCurrentPositions
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -