// Marvyn De La Torre CS1A Chapter 4, P.223, #18
/**************************************************************
* Calculate Speed of Sound
*
* This program calculates the time required for sound to travel
* a given distance through air, water, or steel.
*
* Input:
* Medium selected = choice
* Distance in feet = distance
*
* Output:
* Speed of sound = speed
* Time in seconds = time
**************************************************************/
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int choice;
double distance, speed, time;
cout << "Speed of Sound" << endl;
cout << "1. Air" << endl;
cout << "2. Water" << endl;
cout << "3. Steel" << endl;
cout << "Enter your choice: ";
cin >> choice;
cout << "Enter the distance in feet: ";
cin >> distance;
if (distance < 0)
{
cout << "Distance cannot be negative." << endl;
}
else
{
switch (choice)
{
case 1:
speed = 1100;
break;
case 2:
speed = 4900;
break;
case 3:
speed = 16400;
break;
default:
cout << "Invalid choice." << endl;
return 0;
}
time = distance / speed;
cout << fixed << showpoint << setprecision(4);
cout << "Time: " << time << " seconds" << endl;
}
return 0;
}
Ly8gTWFydnluIERlIExhIFRvcnJlICAgIENTMUEgICAgQ2hhcHRlciA0LCBQLjIyMywgIzE4CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBDYWxjdWxhdGUgU3BlZWQgb2YgU291bmQKKgoqIFRoaXMgcHJvZ3JhbSBjYWxjdWxhdGVzIHRoZSB0aW1lIHJlcXVpcmVkIGZvciBzb3VuZCB0byB0cmF2ZWwKKiBhIGdpdmVuIGRpc3RhbmNlIHRocm91Z2ggYWlyLCB3YXRlciwgb3Igc3RlZWwuCioKKiBJbnB1dDoKKiBNZWRpdW0gc2VsZWN0ZWQgPSBjaG9pY2UKKiBEaXN0YW5jZSBpbiBmZWV0ID0gZGlzdGFuY2UKKgoqIE91dHB1dDoKKiBTcGVlZCBvZiBzb3VuZCA9IHNwZWVkCiogVGltZSBpbiBzZWNvbmRzID0gdGltZQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGlvbWFuaXA+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKICAgIGludCBjaG9pY2U7CiAgICBkb3VibGUgZGlzdGFuY2UsIHNwZWVkLCB0aW1lOwoKICAgIGNvdXQgPDwgIlNwZWVkIG9mIFNvdW5kIiA8PCBlbmRsOwogICAgY291dCA8PCAiMS4gQWlyIiA8PCBlbmRsOwogICAgY291dCA8PCAiMi4gV2F0ZXIiIDw8IGVuZGw7CiAgICBjb3V0IDw8ICIzLiBTdGVlbCIgPDwgZW5kbDsKICAgIGNvdXQgPDwgIkVudGVyIHlvdXIgY2hvaWNlOiAiOwogICAgY2luID4+IGNob2ljZTsKCiAgICBjb3V0IDw8ICJFbnRlciB0aGUgZGlzdGFuY2UgaW4gZmVldDogIjsKICAgIGNpbiA+PiBkaXN0YW5jZTsKCiAgICBpZiAoZGlzdGFuY2UgPCAwKQogICAgewogICAgICAgIGNvdXQgPDwgIkRpc3RhbmNlIGNhbm5vdCBiZSBuZWdhdGl2ZS4iIDw8IGVuZGw7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgc3dpdGNoIChjaG9pY2UpCiAgICAgICAgewogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICBzcGVlZCA9IDExMDA7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICAgIHNwZWVkID0gNDkwMDsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAzOgogICAgICAgICAgICAgICAgc3BlZWQgPSAxNjQwMDsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIGNvdXQgPDwgIkludmFsaWQgY2hvaWNlLiIgPDwgZW5kbDsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KCiAgICAgICAgdGltZSA9IGRpc3RhbmNlIC8gc3BlZWQ7CgogICAgICAgIGNvdXQgPDwgZml4ZWQgPDwgc2hvd3BvaW50IDw8IHNldHByZWNpc2lvbig0KTsKICAgICAgICBjb3V0IDw8ICJUaW1lOiAiIDw8IHRpbWUgPDwgIiBzZWNvbmRzIiA8PCBlbmRsOwogICAgfQoKICAgIHJldHVybiAwOwp9