To illustrate this, our next program will re-use the function from 2.3. The program is similar to the last one, but instead of printing a table of weights, the user enters a weight, and this value is converted. Such a program requires user input. This can be done in two ways, both of which will be shown.
The simpler implementation is to prompt for a weight, and then read the user's keyboard input. This would be done as follows
#include <stdio.h> void print_converted(int pounds) /* Convert U.S. Weight to Imperial and International Units. Print the results */ { int stones = pounds / 14; int uklbs = pounds % 14; float kilos_per_pound = 0.45359; float kilos = pounds * kilos_per_pound; printf(" %3d %2d %2d %6.2f\n", pounds, stones, uklbs, kilos); } main() { int us_pounds; printf("Give an integer weight in Pounds : "); scanf("%d", &us_pounds); printf(" US lbs UK st. lbs INT Kg\n"); print_converted(us_pounds); }
A printf statement is used to prompt for input. scanf is an equivalent input statement, note that the variable to be read us_pounds is written as &us_pounds here. This is very important and it will be explained later.
Go to Weight conversion table Go to Index Go to Weight conversion with