Hands On C++: Project 8


The Projects

Your instructor will assign you one of the problems below. To solve your problem, write a program that reads the necessary information to compute and output the indicated values, as efficiently as possible. Following the pattern in the lab exercise, first, design using OCD; then code your design in C++ using stepwise translation; finally, test your program thoroughly.

Project #8.1: White water rapids are classified by their gradient (the number of feet per mile they descend) and their class (a difficulty rating in the range 1-6, with 1 being calm and 6 being unnavigable.) Popular white water rafting trips in Pennsylvania and West Virginia include the lower Youghiogheny (gradient 15, class 3), the New (gradient 25, class 4), the Cheat (gradient 35, class 4), and the Upper Youghiogheny (gradient 125, class 5).

Write a menu-drive program that displays a menu of the trips, and displays the gradient and class of whatever trip the user selects. Your program should include a function that, given the trip selected by the user, passes back the gradient and class of that trip.

Project #8.2: Write a function Sort3() that, given three integer arguments int1, int2, and int3, changes the values of those arguments so that their values are in ascending order (i.e., int1 <= int2 <= int3---looks like a postcondition!). Write a driver program that demonstrates the correctness of Sort3().

Project #8.3: Your local painting supplies store would like a paint-mixing "expert system." Write a function that, given a non-primary color (i.e., orange, green, purple) will pass back the two primary colors that must be mixed to produce that color (i.e., red and yellow must be mixed to produce orange, yellow and blue to produce green, and blue and red to produce purple). Use a string object to store a color. Then write a menu-driven program that allows its user to enter, process and display the solution of as many paint-mixing problems as the user wishes.

Project #8.4: A quadratic equation is an equation of the form
ax2 + bx + c = 0
Write a function that, given the a, b and c values defining a quadratic, passes back the two roots of that quadratic. To compute the roots, use the quadratic formula:
 
        -b  sqrt(b2 - 4ac)
roots = --------------------------
                 2a
Your function should check for common errors, such as a == 0 and b2 - 4ac being negative.

Create a user-friendly driver program that allows its user to compute the roots of an arbitrary number of quadratic equations.

Turn In

Turn the following things:

  1. This grade sheet.
  2. Your OCD.
  3. Your source program.
  4. The output from an execution of your program.


Lab Home Page | Lab Exercise
© 2003 by Prentice Hall. All rights reserved.
Report all errors to Jeremy D. Frens.