/* #AUTHOR: David C. #SITE: www.phear-gaming.net #EMAIL: crippler@phear-gaming.net #IRC: irc://irc.gamesurge.net:6667/phear #PURPOSE: Distance conversions. */ #include using namespace std; void centToInch(); void input_centToInch(double ¢imeters); void convert_centToInch(double ¢imeters, double &inches); void output_centToInch(double centimeters, double inches); void inchToCent(); void input_inchToCent(double &inches); void convert_inchToCent(double &inches, double ¢imeters); void output_inchToCent(double centimeters, double inches); void kiloToMile(); void input_kiloToMile(double &kilometers); void convert_kiloToMile(double &kilometers, double &miles); void output_kiloToMile(double kilometers, double miles); void mileToKilo(); void input_mileToKilo(double miles); void convert_mileToKilo(double &miles, double &kilometers); void output_mileToKilo(double miles, double kilometers); void meterToFeet(); void input_meterToFeet(double meters); void convert_meterToFeet(double &meters, double &feet); void output_meterToFeet(double meters, double feet); void feetToMeter(); void input_feetToMeter(double &feet); void convert_feetToMeter(double &feet, double &meters); void output_feetToMeter(double feet, double meters); void feetToInch(); void input_feetToInch(double &feet); void convert_feetToInch(double &feet, double &inches); void output_feetToInch(double feet, double inches); void feetToYards(); void input_feetToYards(double &feet); void convert_feetToYards(double &feet, double &yards); void output_feetToYards(double feet, double yards); void meterToYard(); void input_meterToYard(double &meters); void convert_meterToYard(double &meters, double &yards); void output_meterToYard(double meters, double yards); void milesToFeet(); void input_milesToFeet(double &miles); void convert_milesToFeet(double &miles, double &feet); void output_milesToFeet(double miles, double feet); void milesToYard(); void input_milesToYard(double &miles); void convert_milesToYard(double &miles, double &yards); void output_milesToYard(double miles, double yards); const double CENT_TO_INCH_FACTOR = 0.3973; const double INCH_TO_CENT_FACTOR = 2.540; const double KILO_TO_MILE_FACTOR = 0.621; const double MILE_TO_KILO_FACTOR = 1.609; const double METER_TO_FEET_FACTOR = 3.281; const double FEET_TO_METER_FACTOR = 0.3048; const double FEET_TO_INCH_FACTOR = 12.00; const double FEET_TO_YARDS_FACTOR = 0.3333; const double METER_TO_YARD_FACTOR = 1.093; const double MILES_TO_FEET_FACTOR = 5280; const double MILES_TO_YARD_FACTOR = 1760; int main(void) { int which; char again; cout << " C++ Distance Conversion Tool _ Version 1.0 \n" << "NOTE: Every unit entered will take up 8 bytes. \a\n" << " (No more than 15 decimal places.) \n" << endl; do { cout << "Pick a conversion; \n" << " (0) Quit the Program. \n" << " (1) Centimeters to Inches.\n" << " (2) Inches to Centimeters.\n" << " (3) Kilometers to Miles. \n" << " (4) Miles to Kilometers. \n" << " (5) Meters to Feet. \n" << " (6) Feet to Meters. \n" << " (7) Feet to Inches. \n" << " (8) Feet to Yards. \n" << " (9) Meters to Yards. \n" << "(10) Miles to Feet. \n" << "(11) Miles to Yards. \n" << "Choice: "; cin >> which; cout << endl; if (which == 0) break; else if (which == 1) centToInch(); else if (which == 2) inchToCent(); else if (which == 3) kiloToMile(); else if (which == 4) mileToKilo(); else if (which == 5) meterToFeet(); else if (which == 6) feetToMeter(); else if (which == 7) feetToInch(); else if (which == 8) feetToYards(); else if (which == 9) meterToYard(); else if (which == 10) milesToFeet(); else if (which == 11) milesToYard(); else cout << "\a" << which << " is not a valid choice. Pick again.\n"; cout << "Do want to do any of the other conversions? (y or n): "; cin >> again; cout << endl; } while (again == 'y' || again == 'Y'); cout << "EOF: End Of File!\n"; } void centToInch() { double centimeters = 0.00; double inches = 0.00; char again; do { input_centToInch(centimeters); convert_centToInch(centimeters, inches); output_centToInch(centimeters, inches); cout << "\nDo you want to do another conversion of centimeters to inches? (y or n): "; cin >> again; } while (again == 'y' || again == 'Y'); } void input_centToInch(double ¢imeters) { cout << "Enter the number of centimeters: "; cin >> centimeters; } void convert_centToInch(double ¢imeters, double &inches) { inches = centimeters * CENT_TO_INCH_FACTOR; } void output_centToInch(double centimeters, double inches) { cout.setf(ios::showpoint); cout.setf(ios::fixed); cout.precision(1); cout << centimeters << " centimeters converts to " << inches << " inches."; } void inchToCent() { double inches = 0.00; double centimeters = 0.00; char again; do { input_inchToCent(inches); convert_inchToCent(inches, centimeters); output_inchToCent(inches, centimeters); cout << "\nDo another conversion of inches to centimeters? (y or n): "; cin >> again; } while (again == 'y' || again == 'Y'); } void input_inchToCent(double &inches) { cout << "Enter the number of inches: "; cin >> inches; } void convert_inchToCent(double &inches, double ¢imeters) { centimeters = inches * INCH_TO_CENT_FACTOR; } void output_inchToCent(double inches, double centimeters) { cout.setf(ios::showpoint); cout.setf(ios::fixed); cout.precision(1); cout << inches << " inches converts to " << centimeters << " centimeters."; } void kiloToMile() { double kilometers = 0.00; double miles = 0.00; char again; do { input_kiloToMile(kilometers); convert_kiloToMile(kilometers, miles); output_kiloToMile(kilometers, miles); cout << "\nDo another conversion of kilometers to miles? (y or n): "; cin >> again; } while (again == 'y' || again == 'Y'); } void input_kiloToMile(double &kilometers) { cout << "Enter the number of kilometers: "; cin >> kilometers; } void convert_kiloToMile(double &kilometers, double &miles) { miles = kilometers * KILO_TO_MILE_FACTOR; } void output_kiloToMile(double kilometers, double miles) { cout.setf(ios::showpoint); cout.setf(ios::fixed); cout.precision(1); cout << kilometers << " kilometers converts to " << miles << " miles."; } void mileToKilo() { double miles = 0.00; double kilometers = 0.00; char again; do { input_mileToKilo(miles); convert_mileToKilo(miles, kilometers); output_mileToKilo(miles, kilometers); cout << "\nDo another conversion of miles to kilometers? (y or n): "; cin >> again; } while (again == 'y' || again == 'Y'); } void input_mileToKilo(double miles) { cout << "Enter the number of miles: "; cin >> miles; } void convert_mileToKilo(double &miles, double &kilometers) { kilometers = miles * MILE_TO_KILO_FACTOR; } void output_mileToKilo(double miles, double kilometers) { cout.setf(ios::showpoint); cout.setf(ios::fixed); cout.precision(1); cout << miles << " miles converts to " << kilometers << " kilometers"; } void meterToFeet() { double meters = 0.00; double feet = 0.00; char again; do { input_meterToFeet(meters); convert_meterToFeet(meters, feet); output_meterToFeet(meters, feet); cout << "\nDo another conversion of meters to feet? (y or n): "; cin >> again; } while (again == 'y' || again == 'Y'); } void input_meterToFeet(double meters) { cout << "Enter the number of meters: "; cin >> meters; } void convert_meterToFeet(double &meters, double &feet) { feet = meters * METER_TO_FEET_FACTOR; } void output_meterToFeet(double meters, double feet) { cout.setf(ios::showpoint); cout.setf(ios::fixed); cout.precision(1); cout << feet << " feet converts to " << meters << " meters."; } void feetToMeter() { double meters = 0.00; double feet = 0.00; char again; do { input_feetToMeter(feet); convert_feetToMeter(feet, meters); output_feetToMeter(feet, meters); cout << "\nDo another conversion of feet to meters? (y or n): "; cin >> again; } while (again == 'y' || again == 'Y'); } void input_feetToMeter(double &feet) { cout << "Enter the number of feet: "; cin >> feet; } void convert_feetToMeter(double &feet, double &meters) { meters = feet * FEET_TO_METER_FACTOR; } void output_feetToMeter(double feet, double meters) { cout.setf(ios::showpoint); cout.setf(ios::fixed); cout.precision(1); cout << feet << " feet converts to " << meters << " meters"; } void feetToInch() { double feet = 0.00; double inches = 0.00; char again; do { input_feetToInch(feet); convert_feetToInch(feet, inches); output_feetToInch(feet, inches); cout << "\nDo another conversion of feet to inches? (y or n): "; cin >> again; } while (again == 'y' || again == 'Y'); } void input_feetToInch(double &feet) { cout << "Enter the number of feet: "; cin >> feet; } void convert_feetToInch(double &feet, double &inches) { inches = feet * FEET_TO_INCH_FACTOR; } void output_feetToInch(double feet, double inches) { cout.setf(ios::showpoint); cout.setf(ios::fixed); cout.precision(1); cout << feet << " feet converts to " << inches << " inches."; } void feetToYards() { double feet = 0.00; double yards = 0.00; char again; do { input_feetToYards(feet); convert_feetToYards(feet, yards); output_feetToYards(feet, yards); cout << "\nDo another conversion of feet to yards? (y or n): "; cin >> again; } while (again == 'y' || again == 'Y'); } void input_feetToYards(double &feet) { cout << "Enter the number of feet: "; cin >> feet; } void convert_feetToYards(double &feet, double &yards) { yards = feet * FEET_TO_YARDS_FACTOR; } void output_feetToYards(double feet, double yards) { cout.setf(ios::showpoint); cout.setf(ios::fixed); cout.precision(1); cout << feet << " feet converts to " << yards << " yards."; } void meterToYard() { double meters = 0.00; double yards = 0.00; char again; do { input_meterToYard(meters); convert_meterToYard(meters, yards); output_meterToYard(meters, yards); cout << "\nDo another conversion of meters to yards? (y or n): "; cin >> again; } while (again == 'y' || again == 'Y'); } void input_meterToYard(double &meters) { cout << "Enter the number of meters: "; cin >> meters; } void convert_meterToYard(double &meters, double &yards) { yards = meters * METER_TO_YARD_FACTOR; } void output_meterToYard(double meters, double yards) { cout.setf(ios::showpoint); cout.setf(ios::fixed); cout.precision(1); cout << meters << " meters converts to " << yards << " yards."; } void milesToFeet() { double miles = 0.00; double feet = 0.00; char again; do { input_milesToFeet(miles); convert_milesToFeet(miles, feet); output_milesToFeet(miles, feet); cout << "\nDo another conversion of miles to feet? (y or n): "; cin >> again; } while (again == 'y' || again == 'Y'); } void input_milesToFeet(double &miles) { cout << "Enter the number of miles: "; cin >> miles; } void convert_milesToFeet(double &miles, double &feet) { feet = miles * MILES_TO_FEET_FACTOR; } void output_milesToFeet(double miles, double feet) { cout.setf(ios::showpoint); cout.setf(ios::fixed); cout.precision(1); cout << miles << " miles converts to " << feet << " feet."; } void milesToYard() { double miles = 0.00; double yards = 0.00; char again; do { input_milesToYard(miles); convert_milesToYard(miles, yards); output_milesToYard(miles, yards); cout << "\nDo another conversion of miles to yards? (y or n): "; cin >> again; } while (again == 'y' || again == 'Y'); } void input_milesToYard(double &miles) { cout << "Enter the number of miles: "; cin >> miles; } void convert_milesToYard(double &miles, double &yards) { yards = miles * MILES_TO_YARD_FACTOR; } void output_milesToYard(double miles, double yards) { cout.setf(ios::showpoint); cout.setf(ios::fixed); cout.precision(1); cout << miles << " miles converts to " << yards << " yards."; }