Question

In: Computer Science

Program specifics: Write a C++ program that does the following: a. Asks the user for the...

Program specifics:

Write a C++ program that does the following:

a. Asks the user for the distance to the pin and the depth of the green (both in yards). (Note: The pin is the hole in the green and the depth is the diameter of the green, assuming it is circular.)

b. Asks the user for an integer club number from 2 to 10, where 10 is the pitching wedge (this club lifts the ball out of rough, sand, etc). If the user enters an invalid club number, the program prints a warning and asks for the club number again.

c. Asks the user for a swing type, from 1 to 4, where 4 is a full swing, 3 is a three-quarters swing, 2 is a half swing, and 1 is a quarter swing. The program should check to make sure the swing is a valid number and if it is not, allow the user to try again. There is no requirement to limit the number of guesses of either the club type or swing strength,

d. Uses the following constants - a1, b1, a2, b2, a3, and b3—that are embedded into the following equations:

Golf Constants for the program

A              B

10.2        3.27

53.5        -1.75

19.6       4.89

clubangle(degrees) = a1 + b1*0.85*clubnumber; (see figure at right)

clublength(inches) = a2 + b2*1.05*clubnumber; (see figure at right)

clubspeed(yards/s) = 1.1 * (a3 + b3 * swingnumber) * (clublength(inches)/40)^2;

e. Determines the distance the ball travels, how far it lands from the hole that is on the green (the "pin"), and whether it hits the green. You can assume the ball travels perfectly straight, there is no wind resistance, and the pin is in the center of the green. To determine the distance the ball travels, use the following equation:

       distance = club speed^2 * sin(2*club angle in radians)/g

     (g = 32.2 ft/s2 is the acceleration of gravity in English units—make sure you convert your units correctly to get distance in yards).

f. The program reports to the screen, in a well-formatted table: the club used, the swing number, the distance the ball travels, the distance from the pin that the ball hits the ground (i.e., the error or accuracy), and "Yes" if the ball hits on the green, or else "No". Assume that the ball does not roll after hitting the ground (really wet ground).

g. The table must have appropriate labels.

h. If the ball does not hit the green, the program continues to ask the user for another club number and swing speed.

i. If the club number entered is 99, the program ends

Solutions

Expert Solution

/****************************************************/
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;

int main()
{
// Declaring constants
const double A1 = 10.2;
const double B1 = 3.27;
const double A2 = 53.5;
const double B2 = -1.75;
const double A3 = 19.6;
const double B3 = 4.89;
const int SENTINEL = 99;
double g = 32.2 * 0.333333;

// Declaring variables
double clubAngle, clublength, clubspeed, distance, pinDistance, depth;
int clubnumber, swingnumber;
string choice;


// setting the precision to two decimal places
std::cout << std::setprecision(2) << std::fixed;

// Getting the pin distance entered by the user
cout << "Enter the distance from the Pin (in yards):";
cin >> pinDistance;

// getting the green depth entered by the user
cout << "Enter the Green Depth :";
cin >> depth;

// Getting the valid input entered by the user
while (true)
{

while (true)
{
cout << "\nEnter Club Number :";
cin >> clubnumber;
if (clubnumber == 99)
{
exit(0);
}
else if (clubnumber < 2 || clubnumber > 10)
{
cout << "** Invalid.Must be between 2-10 **" << endl;
}
else
break;
}

// Getting the valid input entered by the user
while (true)
{
cout << "Enter Swing Number :";
cin >> swingnumber;
if (swingnumber < 1 || swingnumber > 4)
{
cout << "** Invalid.Must be between 1-4 **" << endl;
}
else
break;
}


// Calculating the club angle
clubAngle = (A1 + B1 * 0.85 * clubnumber) * (3.14159 / 180);

// Calculating the club length
clublength = A2 + B2 * 1.05 * clubnumber;

// Calculating the club speed
clubspeed = 1.1 * (A3 + B3 * swingnumber) * pow((clublength / 40), 2);
  
// Calculating the distance the ball travelled
distance = pow(clubspeed, 2) * sin(2 * clubAngle) / g;
  
// Displaying the report
cout << setw(35) << left << "Club Used :" << clubnumber << endl;
cout << setw(35) << left << "Swing Number :" << swingnumber << endl;
cout << setw(35) << left << "Distance the ball travelled :" << distance << " feet." << endl;
cout << "The distance from the pin that the ball hits the ground (in yards) : ";
cout << abs(pinDistance - distance) << endl;

if (abs(pinDistance - distance) <= depth)
{
choice = "Yes";
}
else
{
choice = "No";
}
cout << "Is the ball hits on the green :" << choice << endl;
}


return 0;
}

/****************************************************/

/****************************************************/

Output:

/****************************************************/


Related Solutions

Write a C program that does the following: 1) Asks the user to enter an integer...
Write a C program that does the following: 1) Asks the user to enter an integer N 2) Asks the user to enter three words with at least N letters and at most 20 letters 3) Prints the first N letters from the first word 4) Prints the last N letters from the second word 5) Prints all letters in the odd position in the third word Output: Please enter an integer N: 3 Please enter a word with at...
Write a C++ program that asks the user to enter the monthly costs for the following...
Write a C++ program that asks the user to enter the monthly costs for the following expenses incurred from operating your automobile: loan payment, insurance, gas, oil, tires, and maintenance. The program should then display the total monthly cost of these expenses, and a projected total annual cost of these expenses. Label each cost. The labels should be left aligned and have a column width of 30 characters. The cost should be aligned right and displayed with two decimal places...
Write a program that does the following in order: 1. Asks the user to enter a...
Write a program that does the following in order: 1. Asks the user to enter a name 2. Asks the user to enter a number “gross income” 3. Asks the user to enter a number “state tax rate” 4. Calculates the “Federal Tax”, “FICA tax” and “State tax” 5. Calculates the “estimated tax” and round the value to 2 decimal places 6. Prints values for “name”, “gross income” and “estimated tax” The program should contain three additional variables to store...
Write a C ++ program that asks the user for the speed of a vehicle (in...
Write a C ++ program that asks the user for the speed of a vehicle (in miles per hour) and how many hours it has traveled. The program should then use a loop to display the distance the vehicle has traveled for each hour of that time period. Here is an example of the output: What is the speed of the vehicle in mph? 40 How many hours has it traveled? 3 Hour Distance Traveled -------------------------------- 1           40 2           80...
Write a Java program to do the following: Specifics: Write an application that prompts a user...
Write a Java program to do the following: Specifics: Write an application that prompts a user for two integers and displays every integer between them. Display a message if there are no integers between the entered values. Make sure the program works regardless of which entered value is larger. Save the file as InBetween.java. Don’t forget to create the application/project  InBetweenTest.java Class that has the main method and an object to use the InBetween class.
Tail of a File, C++ Program. write a program that asks the user for the name...
Tail of a File, C++ Program. write a program that asks the user for the name of a text file. The program should display the last 10 lines, or all lines if less than 10. The program should do this using seekg Here is what I have so far. #include<iostream> #include<fstream> #include<string> using namespace std; class File { private:    fstream file;    string name; public:    int countlines();    void printlines(); }; int File::countlines() {    int total =...
Write a c++ program that asks the user to choose his preferred shape, and asks then...
Write a c++ program that asks the user to choose his preferred shape, and asks then for two numbers (positive but not necessary integers) in order to calculate the shape's area. The possible shapes are: Triangle, Ring and Rectangle. If the user chose a different shape, you will warn him and wait for a valid shape. The area of a circle is πr12-r22 (suppose π= 3.4 ). The area of a triangle is base*height/2. The area of a rectangle is...
In C write a program that asks the user for the dimensions of 3 sides of...
In C write a program that asks the user for the dimensions of 3 sides of a triangle. Each side dimension must be between 1.00 and 100.00 including 1.00 and 100.00. If the side dimensions indeed can make a valid triangle then the program should use these values to determine the perimeter and the area of the valid triangle 1. Must use programmer define functions 2. Your program must have at least 4 functions, main and the following 3 functions:...
c program Write a program that asks the user to enter a sequence of 15 integers,...
c program Write a program that asks the user to enter a sequence of 15 integers, each either being 0, 1, or 2, and then prints the number of times the user has entered a "2" immediately following a "1". Arrays are not allowed to appear in your code. Include ONLY THE SCREENSHOT OF YOUR CODE in an image file and submit the file.
Selection Sort Programmatically Implement in C++ the necessary program that does the following: Asks the user...
Selection Sort Programmatically Implement in C++ the necessary program that does the following: Asks the user and gets at least 5 whole numbers as user input from the keyboard and stores them in an array Displays the numbers from the array on the screen Sorts the numbers in the array using SELECTION SORT Algorithm Displays the sorted numbers on the screen from the array Save your code file as "yourLastname_Firstname_SelectionSort.cpp" and submit your .cpp file. NOTE: This assignment needs only...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT