Sunday, March 23, 2014

Temperature Conversion – C Program

Problem Question


Temperature of a city in Fahrenheit degrees is input through the keyboard. Write a program to convert this temperature into Centigrade degrees.

Explanation of Problem


This is another simple C program in which the user enters a number which is interpreted as the temperature in degree Fahrenheit for certain city. Our program should convert this into degree Celsius and display the result.

Code


#include <stdio.h>
/*Fahrenheit to Celcius*
*@Language: ANSI C*
*@Compiler: GNU GCC*
*@IDE: CodeBlocks 12.11*
*@Author: Toxifier*
*@URL: http://letsplaycoding.blogspot.com/*
*@Date: 23-03-2014**/
int main()
{
    printf("\n\nEnter the temperature in Fahrenheit: ");
    float temperatureF = 0.0, temperatureC = 0.0;
    scanf("%f", &temperatureF);
    printf("\nCalculating.......\n");
    temperatureC = (temperatureF - 32) * 5 / 9;
    printf("\nTemprature in Celsius: %f\n", temperatureC);
    system("pause");
    return 0;
}

Explanation of Code


#include <stdio.h> -> This is the step which occurs before compilation starts. The compiler calls the C Preprocessor to include the STDIO(Standard Input Output) header file into the program, thus letting the use of the standard input/output functions like printf() and scanf() which come from STDIO.H

int main() -> The entry point of the program where the execution starts. This functions has to named main. As per the ANSI specification, the return type has to be int. If you use the traditional C, you may use void as the return type. Since the return type is specified as int in my program, I have to use a return statement at the end of my code. So I use return 0 since zero returned from a function, by convention, implies a correct execution of the program. The return values are used to debug the program.

printf() -> This is a standard output function used to print something on the screen. We have to pass a string to this function which will be displayed on user's terminal. We use this function in this program to display a prompt for user’s input and the final result at the user’s screen.

scanf() -> This is the scanf() function which waits for the user to enter certain value using his/her keyboard. We store the user input at the location in memory which is pointed to by the variable whose address is passed to this function. Here, we use this function to store the user entered float value in the variable ‘temperatureF’.

float temperatureF = 0.0, temperatureC = 0.0 -> The float variables to accommodate the real numbers since the temperature are generally in decimals. ‘temperatureF’ variable is used to store Fahrenheit temperature, and ‘temperatureC’ variable is used to store Celcius temperature.

temperatureC = (temperatureF - 32) * 5 / 9 -> This is the calculation part in which we calculate the Celcius temperature from Fahrenheit temperature and store the result in the variable ‘temperatureC’.

system("pause") -> This statement is used to pause the program, until user presses a key. This function is not necessary in your program, I use it to see my outputs paused. If you use cmd to run your programs, you might not need this. If you use linux/unix you might not need this. Depending on your compiler, this function may or may not work. Moreover, removing this line of code from this program, doesn't affect the functionality of the program.

Output(s)



No comments:

Post a Comment

Need help?