• 0

Help with The Speed of Sound C++ Program


Question

So I am suppose to write a program that displays a menu for allowing the user to select air, water or steel. After the user has made a selection, s(he) should be asked to enter the distance a sound wave will travel in the selected medium, then whether this distance is in feet or miles. The program will then display the amount of time it will take for sound to travel this distance (in seconds).

Medium / Speed

Air = 1,100 feet per second

Water = 4,900 feet per second

Steel = 16,400 feet per second

 

 

 

So this is what I got so far:

 

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    int choice;
    int distance;
    double amountOfTime;

    const double Air = 1100;  //feet per second
    const double Water = 4900; //feet per second
    const double Steel = 16400; //feet per second
    cout << "\t\tThe Speed of Sound \n";
    cout << "Please select your medium \n\n";
    cout << "1. Air \n";
    cout << "2. Water \n";
    cout << "3. Steel \n";
    cout << "Enter your choice: ";
    cin >> choice;
    cout << "Enter the distance the sound wave will travel: ";
    cin >> distance;
    cout << setprecision (4) << fixed;
    cout <<
    
    if (distance == 0)
    {
       cout << "Distance must be greater than zero\n";
    }
    else if (choice >= 1 && choice <=3)
    {    
       switch (choice)
       {
          case 1: amountOfTime = distance / Air;
               break;
          case 2: amountOfTime = distance / Water;
               break;
          case 3: amountOfTime = distance / Steel;
       }
    
       cout << "The amount of time it will take to travel is ";
       cout << amountOfTime;
       cout << " seconds" << endl;         
    }
    return 0;
}

 

 

 

The program works but I still need help in writing the code to ask the user on whether if they want the distance in feet or miles within my program and with a conversion in the code that will display the result of the feet or miles that they will want inputted because so far the distance I ask the user only displays the standard of feet, thanks!

4 answers to this question

Recommended Posts

  • 0

You seem to know how to let the user enter things, so entering whether they want the distance in feet or miles should be no problem. The conversion is just a multiplication by the correct factor. What exactly is unclear to you? Please be more specific than "I need help".

  • 0

well I got the asking the user down but right after "cout << setprecision (4) << fixed;", should I go onto the next line and ask "cout << "Do you want the distance in feet or miles: ";" and what should I do after that when I create that question? sorry I am kind of new, this is my two months of C++

  • 0

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    int choice;
    int distance;
    double amountOfTime;

    const double Air = 1100;  //feet per second
    const double Water = 4900; //feet per second
    const double Steel = 16400; //feet per second
    cout << "\t\tThe Speed of Sound \n";
    cout << "Please select your medium \n\n";
    cout << "1. Air \n";
    cout << "2. Water \n";
    cout << "3. Steel \n";
    cout << "Enter your choice: ";
    cin >> choice;
    cout << "Enter the distance the sound wave will travel: ";
    cin >> distance;
    cout << setprecision (4) << fixed;
    cout << "Do you want the distance in feet or miles: ";
    
    if (distance == 0)
    {
       cout << "Distance must be greater than zero\n";
    }
    else if (choice >= 1 && choice <=3)
    {    
       switch (choice)
       {
          case 1: amountOfTime = distance / Air;
               break;
          case 2: amountOfTime = distance / Water;
               break;
          case 3: amountOfTime = distance / Steel;
       }
    
       cout << "The amount of time it will take to travel is ";
       cout << amountOfTime;
       cout << " seconds" << endl;         
    }
    return 0;
}

 

 

So I put the question in asking the user if they want the distance in feet or miles but where would I put the conversion of feet to miles in the program to make the program work?

  • 0

Your units are in feet by default, so if the user enters feet, you do nothing special. If the user enters meters, you convert all your quantities to meters before your switch(choice) structure.

 

The conversion might look like this:

double metersPerFeet = 0.3something;
Air *= metersPerFeet;
Water *= metersPerFeet;

Now is the distance entered by the user in feet or meters? I guess you should ask about the units of measure before the distance, so it's clear what unit the user is expecting.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Meta says that its "Private Processing technology" will be used. Oh, thank God! Now, I will finally sleep a whole lot better at night trusting FB. 🙄🙄🙄
    • The Teams Admin center is still a mess. I use it all the time. They really need to talk with the Intune or Entra ID folks for help.
    • Senua's Saga: Hellblade II to get 60FPS mode, dev commentary, and more alongside PS5 launch by Pulasthi Ariyasinghe Back in May, Microsoft revealed Senua's Saga: Hellblade II as the next first-party Xbox game to reach PlayStation platforms. Now, that release has an official release date attached to it, and alongside it, developer Ninja Theory is releasing an update across all platforms with some major features, including a 60 FPS mode on consoles. The Performance Mode is easily the biggest addition to the story-focused immersive experience. Ninja Theory is delivering it to both Xbox Series X and PlayStation 5 players, but there is some bad news for Series S owners, as it is being left out from the upgrade. "The result is smoother gameplay, especially noticeable during combat and fast-moving moments of the game," says the developer. It's unclear how much of the game's visuals Performance Mode users will be missing out on compared to the default 30FPS "cinematic" mode. PC players are getting an upgrade too. A Very High preset is being added to the settings menu for those wanting even higher fidelity graphics. Optimizations have also been a focus on PC, and Ninja Theory says that the title will be Steam Deck Verified when the Enhanced update lands in August. Next, similar to the original, Dark Rot is incoming as an optional experience that players can enable when starting a campaign. This will have a rot effect being applied to Senua every time she dies, and if it ever reaches her head, the game will come to an end, with all progress from that save being wiped. The Photo Mode in Hellblade II is being upgraded with this update too, with the studio touting a new Motion tab for cinematic video capture, as well as improvements across the board to the feature. Lastly, four hours of developer commentary is being added to give a behind-the-scenes look at how the studio crafted the story and gameplay. "Hear from the ensemble cast, key collaborators in depicting Senua’s experience of psychosis, and members of the development team who poured their heart and soul into Senua’s story," says the studio. The Senua’s Saga: Hellblade II Enhanced comes out on August 12 across PC, Xbox Series X|S, and PlayStation 5 for all owners and Game Pass subscribers as a free upgrade. As for the PlayStation 5 launch of Senua’s Saga: Hellblade II that's happening on the same day, Microsoft will be offering two versions: Standard and Deluxe. As expected, Standard includes the complete base game for $49.99, but Deluxe goes further by adding on a copy of the first game, Hellblade: Senua’s Sacrifice, as well as its original soundtrack. The Deluxe Edition costs $69.99 to purchase.
    • Not sure what you’re talking about. Has been there for quite a while and in the latest versions it’s actually quite good. I use it several times a day as I am a terrible typist.
  • Recent Achievements

    • Rising Star
      Phillip0web went up a rank
      Rising Star
    • One Month Later
      Epaminombas earned a badge
      One Month Later
    • One Year In
      Bert Fershner earned a badge
      One Year In
    • Reacting Well
      ChrisOdinUK earned a badge
      Reacting Well
    • One Year In
      Steviant earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      549
    2. 2
      ATLien_0
      209
    3. 3
      +FloatingFatMan
      172
    4. 4
      Michael Scrip
      152
    5. 5
      Som
      142
  • Tell a friend

    Love Neowin? Tell a friend!