Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I am having issues with this question , it is computer programming class and we are using C + + programming. can you correct this

I am having issues with this question , it is computer programming class and we are using C++ programming. can you correct this program? Use C++ programming to redo program
Redo Programming Exercise 16 of Chapter 4 so that all the named constants are defined in a namespace royaltyRates.
Instructions for Programming Exercise 16 of Chapter 4 have been posted below for your convenience.
Exercise 16
A new author is in the process of negotiating a contract for a new romance novel. The publisher is offering three options. In the first option, the author is paid $5,000 upon delivery of the final manuscript and $20,000 when the novel is published. In the second option, the author is paid 12.5% of the net price of the novel for each copy of the novel sold. In the third option, the author is paid 10% of the net price for the first 4,000 copies sold, and 14% of the net price for the copies sold over 4,000. The author has some idea about the number of copies that will be sold and would like to have an estimate of the royalties generated under each option. Write a program that prompts the author to enter the net price of each copy of the novel and the estimated number of copies that will be sold. The program then outputs the royalties under each option and the best option the author could choose. (Use appropriate named constants to store the special values such as royalty rates and fixed royalties.)
Status: FAILED!
Check: 1
Test: Successful Output
Reason: Unable to find '['Royalty option1: 25000.00', 'Royalty option2: 12.50', 'Royalty option3: 10.00']' in the program's output.
Enter the net price of each copy of the novel: $Enter the estimated number of copies that will be sold: Royalties under Option 1: $25000.00
Royalties under Option 2: $12.50
Royalties under Option 3: $10.00
Option 1 is the best choice.
.
Error : AssertionError - Unable to find Royalty option1: 25000.00 in the program's output.
Timestamp: 2024-06-2116:17:21.625655
Status: FAILED!
Check: 2
Test: Successful Output II
Reason: Unable to find '['Royalty option1: 25000.00', 'Royalty option2: 771604931.25', 'Royalty option3: 864189523.00']' in the program's output.
Enter the net price of each copy of the novel: $Enter the estimated number of copies that will be sold: Royalties under Option 1: $25000.00
Royalties under Option 2: $771604931.25
Royalties under Option 3: $617283945.00
Option 2 is the best choice.
.
Error : AssertionError - Unable to find Royalty option1: 25000.00 in the program's output.
Timestamp: 2024-06-2116:17:21.628028
#include
namespace royaltyRates {
const double Option1Fixed =5000.0;
const double Option1Variable =20000.0;
const double Option2Rate =0.125;
const double Option3RateUpTo4000=0.10;
const double Option3RateAbove4000=0.14;
const int Option3Threshold =4000;
}
using namespace std;
int main(){
double netPricePerCopy;
int estimatedCopiesSold;
cout << "Enter the net price of each copy of the novel: $";
cin >> netPricePerCopy;
cout << "Enter the estimated number of copies that will be sold: ";
cin >> estimatedCopiesSold;
// Option 1 calculation
double option1Royalties = royaltyRates::Option1Fixed + royaltyRates::Option1Variable;
// Option 2 calculation
double option2Royalties = royaltyRates::Option2Rate * netPricePerCopy * estimatedCopiesSold;
// Option 3 calculation
double option3Royalties =0.0;
if (estimatedCopiesSold <= royaltyRates::Option3Threshold){
option3Royalties = royaltyRates::Option3RateUpTo4000* netPricePerCopy * estimatedCopiesSold;
} else {
option3Royalties = royaltyRates::Option3RateUpTo4000* netPricePerCopy * royaltyRates::Option3Threshold +
royaltyRates::Option3RateAbove4000* netPricePerCopy *(estimatedCopiesSold - royaltyRates::Option3Threshold);
}
// Output results
cout << fixed;
cout.precision(2);
cout << "Royalties under Option 1: $"<< option1Royalties << endl;
cout << "Royalties under Option 2: $"<< option2Royalties << endl;
cout << "Royalties under Option 3: $"<< option3Royalties << endl;
// Determine the best option
if (option1Royalties >= option2Royalties && option1Royalties >= option3Royalties){
cout << "Option 1 is the best choice." << endl;
} else if (option2Royalties >= option1Royalties && option2Royalties >= option3Royalties){
cout << "Option 2 is the best choice." << endl;
} else {
cout << "Option 3 is the best choice." << endl;
}
return 0;
}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Learning MySQL Get A Handle On Your Data

Authors: Seyed M M Tahaghoghi

1st Edition

0596529465, 9780596529468

More Books

Students also viewed these Databases questions