• 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

    • We went from a Latitude 7450 to Dell Pro 14 Plus PB14250
    • EA Sports UFC 5 is free-to-play on Xbox Series X|S this weekend by Pulasthi Ariyasinghe Every Thursday Microsoft brings in a fresh slate of games for Xbox gamers to try over the weekend as a part of its Free Play Days promotion. The latest refresh that arrived today only revealed a single title for the weekend, and that's EA Sports UFC 5. This is a special occasion as well. Unlike the standard events, this one does not require any tier of Game Pass to jump in. All Xbox Series X|S owners can play the game over the weekend, even if they do not have a Core subscription. As always, any progress made during the weekend also carries over automatically if you decide to purchase the game afterward. Coming in from EA Sports, UFC 5 is the latest entry in the long-running mixed martial arts fighting games. This installment landed in 2023 for the latest generation consoles. Built on DICE's Frostbite Engine for the first time, the title event received an M rating by the ESRB for its realistic injury system, as EA wanted to make a more authentic experience akin to the real-world sport. The damage system, dubbed the Real Impact System, involves depicting blood and sweat on fighters as well as facial injuries. Having injuries like bruised eyes or broken noses can even affect the performance of a fighter due to impaired vision or breathing difficulty. A doctor stoppage may even happen if the injuries become too severe. UFC 5 offers a single-player career mode to become the top-ranked fighter, online modes for competitive action, and special events tied to real-world fights. Here are the store links for the game: UFC 5 - $27.99 (Xbox Series X|S) UFC 5 Deluxe Edition - $31.99 (Xbox Series X|S) UFC 5 Ultimate Edition - $89.99 (Xbox Series X|S) This Free Play Days promotion will end on Sunday, June 29, at 11:59 pm PT. Following this, expect another round of games to enter the program next Thursday, July 3.
    • Windows 11 KB5060826 optional update brings better Setup, new data migration tool, more by Sayan Sen Alongside KB5060829 for Windows 11 24H2, Microsoft has also released its C-release non-security preview update for Windows 11 23H2 and 22H2 today. The new update is rolling out under KB5060826 (builds 22621.5549 and 22631.5549). KB5060826 brings an upgraded Setup which will now let admins choose whether to deploy critical updates during the OOBE (the initial out-of-box experience setup on Windows). Alongside that, it also adds the new PC migration experience on Windows Backup, as well as the default app changes related to the European Economic Area (EEA) region. The full changelog is given below: First up we have the changes and improvements for Gradual Rollout: [App defaults] New! We are rolling out some small changes in the European Economic Area (EEA) region for default browsers through the Set default button in Settings > Apps > Default apps: Additional file and link types will be set for the new default browser, if it registers them. The new default browser will be pinned to the Taskbar and Start menu unless you choose not to pin it by clearing the checkboxes. There is now a separate one-click button for browsers to change your .pdf default, if the browser registers for the .pdf file type. [PC Migration] New! The PC-to-PC migration experience in Windows is starting to roll out. You’ll begin to see the landing and the pairing page in the Windows Backup app, giving you a first look at what’s coming. In the full experience, you’ll be able to transfer files and settings from an old PC to a new one during setup. Support for this feature during PC setup will arrive in a future update. The rollout is being introduced in phases to support a smooth experience. [Windows Share] ​​​​​​​New! When you share links or web content using the Windows share window, you will see a visual preview for that content. Up next, we have Normal Rollout features: [Windows Setup] New! Admins can configure whether a new device gets critical updates during the out-of-box experience (OOBE). The update has a single known issue related to Noto fonts. You can view the support article here on Microsoft's official website. The update can be obtained by clicking on "Check for optional updates" inside Windows Update. You can also download it manually from Microsoft Update Catalog website.
    • American? Yer whole 120v limitation is madness.  You can still get low powered pcs , nice, that'll do the job 
    • People want a resizable taskbar, not tiny icons on a fat one. Microsoft, you've done it again.
  • Recent Achievements

    • One Month Later
      jfam earned a badge
      One Month Later
    • First Post
      TheRingmaster earned a badge
      First Post
    • Conversation Starter
      Kavin25 earned a badge
      Conversation Starter
    • One Month Later
      Leonard grant earned a badge
      One Month Later
    • Week One Done
      pcdoctorsnet earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      571
    2. 2
      ATLien_0
      186
    3. 3
      +FloatingFatMan
      177
    4. 4
      Michael Scrip
      144
    5. 5
      Xenon
      116
  • Tell a friend

    Love Neowin? Tell a friend!