You should do some research on the formulas to convert pounds to kilograms and kilograms to pounds. Both your formulas in "weightCalculating" are wrong. In "weightOutput" it prints the correct variables, but they have the wrong answers.
I would have set up the program different allowing the user to choose which way to convert and do each conversion separate,
void kiloToPounds(double& kiloToPounds)
cout << kiloToPounds << " Kg in pounds is: ";
cout << kiloToPounds << " pounds" << endl;
void poundsToKilo(double& poundsToKilo)
cout << poundsToKilo << " pounds in kg is: ";
poundsToKilo = poundsToKilo * 0.45359; // http://www.rapidtables.com/convert/weight/how-pound-to-kg.htm
cout << poundsToKilo << "kg" << endl;
cout << "Enter 1 for Kilo to pound conversion. Enter 2 for pound to Kilo conversion: ";
cin >> choice;
cout << "\n\nEnter the weight: ";
cin >> weight;
if (choice == 1)
elseif (choice == 2)
cout<< "Would you like to do another conversion?\n Y for yes or any other key to quit.";
} while (userInput == 'Y' ||userInput == 'y'); // this picks up either y or Y.
you pass "kilograms" and "pounds" by reference which allows the variables in main to be changes. The problem is that line 3 will change the value of "kilograms" both in the function and in main. then when you use "kilograms" in line 4 it has the wrong value. A good point to make two separate functions that would return a value so as not to change your original input.