FYI: This is how you would write it much shorter with less copying and pasting:
Code:
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
using namespace std;
struct Conversions {
string from, to;
double multiplier;
Conversions(string from, string to, double multiplier) :
from(from), to(to), multiplier(multiplier) {}
};
static const Conversions convert[] = {
Conversions("feet", "metres", 0.3048),
Conversions("meters", "feet", 1.0/0.3048),
Conversions("lbs.", "kilograms", 0.45359237),
Conversions("kilograms", "lbs.", 1.0/0.45359237),
Conversions("gallons", "liters", 3.7854118),
Conversions("liters", "gallons", 1.0/3.7854118),
Conversions("square miles", "square kilometers", 2.58998811),
Conversions("square kilometers", "square miles", 1.0/2.58998811),
};
int main()
{
cout << "Please select the conversion type you want to perform:" << endl;
for (int i=0; i<sizeof(convert)/sizeof(convert[0]); ++i)
cout << i+1 << ". Convert " << convert[i].from << " to " << convert[i].to << endl;
int option;
cin >> option;
int i = option-1;
if (i >= 0 && i < sizeof(convert)/sizeof(convert[0]))
{
cout << endl << "Enter the number of " << convert[i].from << " to convert to "
<< convert[i].to << ":" << endl;
double num;
cin >> num;
cout << num << " " << convert[i].from << " is equal to "
<< num * convert[i].multiplier << " " << convert[i].to << "." << endl;
}
return 0;
}