8.15. Coding Practice¶

Write the function rectangleInfo which prompts the user for the width and height of a rectangle. Then rectangleInfo prints out the area and perimeter of the rectangle.

Below is one way to implement the program. We prompt the user for input using cin before printing the area and perimeter.

Selecting from: cp_8_AC_2q, cp_8_AC_2q_pp

In the not so distant future, robots have replaced humans to do any kind of imaginable work or chore. Define the Robot structure, which has instance variables string name, string model, int serialNumber, int batteryLevelPercentage, and string task in that order. Then write the printRobotData function, which takes a Robot as a parameter and prints out the robot’s data in the following format: name (model serialNumber) has batteryLevelPercentage percent battery and is currently executing the task “task”.

Below is one way to implement the program. First we declare the instance variables in the struct definition. Next, we use dot notation to access the instance variables and output them using cout.

Selecting from: cp_8_AC_4q, cp_8_AC_4q_pp

In case a robot malfunctions, let’s write the function resetRobot. resetRobot takes a Robot as a parameter and resets its name to “EnterAName”, recharges the battery to 100 percent, and resets the task to “Idle”.

Below is one way to implement the program. We can create another Robot with the settings after being reset. Then we set r equal to the new Robot we created. Notice we use dot notation to ensure that the model and serialNumber are the same.

Selecting from: cp_8_AC_6q, cp_8_AC_6q_pp

Now write the Trainer structure, which has instance variables string trainerName, char gender, int numBadges, and six Pokemon objects named first, second, etc., in that order. Then, write the function printTrainerInfo, which takes a Trainer as a parameter and outputs the trainer’s info. For example, the code below should print:

Trainer Red has 8 badges and Red's team consists of
Pikachu (Lv. 81, 100% HP)
Espeon (Lv. 72, 100% HP)
Snorlax (Lv. 75, 100% HP)
Venusaur (Lv. 77, 100% HP)
Charizard (Lv. 77, 100% HP)
Blastoise (Lv. 77, 100% HP)


Below is one way to implement the program. First we declare the instance variables in the struct definition. Next, we call printPokeInfo on each Pokemon in Trainer and output the trainer’s info in the correct format.

Selecting from: cp_8_AC_8q, cp_8_AC_8q_pp

Now write the function pokeCenter which takes a Trainer as a parameter and prompts the user if they’d like to heal their Pokemon. Below are the possible outputs (y, n, or an invalid input). If user inputs ‘y’, call healPokemon and output the correct dialogue. If user inputs ‘n’, don’t call healPokemon and output the correct dialogue. If user inputs an invalid character, output the error message.

Welcome to the Pokémon Center. Would you like me to take your Pokémon? (y/n) y
Okay, I'll take your Pokémon for a few seconds.
Your Pokémon are now healed. We hope to see you again.

or

Welcome to the Pokémon Center. Would you like me to take your Pokémon? (y/n) n
We hope to see you again.

or

Welcome to the Pokémon Center. Would you like me to take your Pokémon? (y/n) h
Sorry, not a valid input.


Below is one way to implement the program. We use conditionals to perform the correct output and operation depending on the user’s input.