• 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

    • Hello, I am wondering if this will go through an appeal process, or if the ruling is final? Regards, Aryeh Goretsky
    • Hello, I think it also depends upon what sorts of software you develop. My employer makes software that does rely on operating system version-specific functionality, and that is typical and normal behavior for our industry. While we do provide support for older versions of operating systems, it is only for a certain amount of time. If you still want to use our software after that, it becomes a custom support package, which isn't cheap. Regards, Aryeh Goretsky
    • Ok Mr lawyer, what violation or damage is done to requiere a regulation? I get your point but you need more valid points what and how regulations are done. Just google it. Hence me saying Mr Lawyer. I didn't learn new things just by saying big random words, I actually acknowledged and read on what they meant and work. Let's not forget there are national and there are international laws and also violations. For something to have a regulation effect, there must be some sort of damage. Sorry to tell you but annoyance isn't considered consumer damage. Apple changed to USB-C because of the EU and it caused a chain reaction to other countries but those other countries didn't change the laws. Apple saw a business change that would hit them in their production, so something that started 'national' [for simplicity sake let's say the EU is a nation] made a big splash. You might be thinking of something else and not a 'simple' regulation.
    • Hello, Windows 10 ESUs were announced in 2023. Regards, Aryeh Goretsky
    • Hello, Just to be clear, Contoso, LitWare and Fabrikam are generic names used by Microsoft in documentation as well as in things like demos (check out the first screenshot in the linked article), and not the names of the actual companies or products involved. Regards, Aryeh Goretsky
  • Recent Achievements

    • Reacting Well
      pelaird earned a badge
      Reacting Well
    • Mentor
      The Werewolf went up a rank
      Mentor
    • First Post
      Myriachan earned a badge
      First Post
    • Week One Done
      DrRonSr earned a badge
      Week One Done
    • Week One Done
      Sharon dixon earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      603
    2. 2
      ATLien_0
      214
    3. 3
      +FloatingFatMan
      169
    4. 4
      Michael Scrip
      151
    5. 5
      Som
      151
  • Tell a friend

    Love Neowin? Tell a friend!