(Solved) : Part 1 Project Part 1 Coding Follows Program Offer User Choices Different Streaming Servic Q41336110 . . .

My part 1 of Project Part 1 coding as follows:

//This program will offer the user choices from differentstreaming services.

// This program will also display various information aboutdifferent Artistís streaming services.

#include <iostream>

#include <stdlib.h>

using namespace std;

int main()

{

// initializing constant variables to store rate

const double tidal = 0.01250, youtube = 0.00069, spotify =0.00437, amazon = 0.00402, apple_music = 0.00735;

// declaring variables

string artist_name, song_name;

int streams, choice;

double earn = 0.0;

// Display the Menu

cout << “Which Streaming Services will you use to uploadyour song?n” ;

cout << “1: TIDAL.n”;

cout << “2: Amazon.n”;

cout << “3: Apple Music.n”;

cout << “4: Spotify.n”;

cout << “5: YouTube.n”;

cout << “Enter your choice (1-5): “;

// User choice is stored

cin >> choice;

// Checking user’s choice

if(choice < 1 || choice > 5)

{

cout << “NOT A VALID STREAMING SERVICE. PROGRAM WILLTERMINATEn”;

// exiting the program if validation fails

exit(1);

  

}

// This will hold the artist’s name

cout << “nWhat is the artistís name?”;

cin >> artist_name;

// holds the song’s name

cout << “nWhat is the name of the song: “;

cin >> song_name;

// holds the number of streams

cout << “nHow many streams does this Artist have?: “;

cin >> streams;

// This will check the number of streams

if(streams < 0){

cout << “nNUMBER OF STREAMS CANNOT BE NEGATIVE. PROGRAMWILL TERMINATE!” ;

exit(1);

  

}

// calculating the earnings using switch case

switch(choice)

{

case 1: earn = tidal * streams;

break;

case 2: earn = amazon * streams;

break;

case 3: earn = apple_music * streams;

break;

case 4: earn = spotify * streams;

break;

case 5: earn = youtube * streams;

break;

  

}

// shows details of artist

cout << “nArtist: ” << artist_name;

cout << “nSong: ” << song_name;

// shows the platform chosen

switch(choice)

{

case 1: cout << “nStreaming Service Chosen: TIDAL”;

break;

case 2: cout << “nStreaming Service Chosen: Amazon”;

break;

case 3: cout << “nStreaming Service Chosen: AppleMusic”;

break;

case 4: cout << “nStreaming Service Chosen: Spotify”;

break;

case 5: cout << “nStreaming Service Chosen: YouTube”;

break;

  

}

// shows the amount earned

cout << “nEarnings: $” << earn;

}

Project 2 is a continuation of Project 1. For this part of theproject, you will add two additional menus to control the operationof the program. The first menu menu should give the user theability to add a single song to a streaming platform for an artist,process adding multiple songs to a streaming service using a labelfor distribution, or quit the program. The second menu will allowfor the user to pick from the type of label for distributing thesongs to the platform. For each of the menus (including thestreaming service menu from Project 1), you must validate theuser’s menu choices so that only values of the menu that are listedare accepted. Users must also have an unlimited number of chancesto enter a valid menu choice. Your program should continueto run until the user chooses the “quit” option from yourmenu.

Steps:

  1. Add a menu to offer the user a choice of adding a single song,adding multiple songs or quitting the program. This menu must bethe first thing displayed when your program begins executing. Themenu format must match the ones in the Sample Run#1.
  2. Allow the user to continue making menu choices until theychoose the option to quit. Always display the menu before askingthe user for a menu option. Properly handle an invalid menu choice.The user must have an unlimited number of chances to enter a validmenu choice.
  3. If Option 1 is selected on the first menu, the same processesfrom Project 1 need to be executed to process an artist adding asingle song to the streaming platform. Update all input validationso that the user has an unlimited amount of chances to input avalid number of streams as well as a valid streaming platform.
  4. When Option 2 is selected, do the following:
    1. When the user selects the option to upload multiple songs to astreaming platform, the user must first be asked for the streamingservice they desire to use to upload their music using a menu. Theuser must have an unlimited number of chances to enter a valid menuchoice.
    2. After the streaming service has been chosen, then the user mustinput the number of songs that will be uploaded to the chosenstreaming service. Users must upload at least one song, so if anumber of songs entered is less than 1, then the user must have anunlimited number of chances to enter a valid number of songs.
    3. After the number of songs have been entered, the user mustchoose the type of distribution for the songs to generate songstreams on the chosen platform. Artists can have either major labelor indie label distribution. Use a menu to ask the user for theirchoice of distribution. Validate the distribution menu choice sothat the user has an unlimited number of chances to enter a validmenu choice.
    4. For every song that is uploaded to the streaming platform, usea loop to generate a random number of streams. Based on the type oflabel distribution, a random number of streams will be generated ina range.
      1. Major Labels are guaranteed to generate between 100,000 and50,000,000 streams per song.
      2. Indie Labels are guaranteed to generate between 10,000 and1,000,000 streams per song.

Display the number of streams generated for each song onseparate lines, and calculate the total number of streams generatedon all of the songs using a running total.

NOTE: Consider using the Long datatype to hold thenumber of streams and the total number of streams.

  1. Once the streams are generated, use the streaming service payrates from Project 1 to compute the total earnings on all of thesongs based on the total number of streams generated.
  2. Then, calculate the amount that the label will charge theartist for distributing the songs. Major labels charge the artist60% of their earnings for distribution, while indie labels chargethe artist 30% of their earnings for distribution. Store thepercentages in named constants.
  3. Afterwards, use the difference between the total earnings andthe distribution label’s charges to determine how much the artistwill earn.
  4. Finally, display the name of the streaming service, the totalnumber of all of the streams, the total earnings for all of thesongs, the artist’s earnings, and the label’s earnings beforereturning to the main menu.  

Sample run 1

Sample Run #1

Sample run continued.

Sample Run #1 (Continued)

need help on part 2 of this project. will submit in Dev-C++coding language. i have given part 1 now need part 2.

Expert Answer


Answer to My part 1 of Project Part 1 coding as follows: //This program will offer the user choices from different streaming servi…