Question: Program in C: In this program you will be converting measurements from one unit to another. Restrictions No global variables may be used Your main

Program in C:

In this program you will be converting measurements from one unit to another.

Restrictions

  • No global variables may be used
  • Your main function may only declare variables and call other functions

Temperatures

From Farenheit Celsius Kelvin
Farenheit(F) F (F - 32) * 5/9 (F-32)*5/9+273.15
Celsius(C (C * 9/5) +32 C C + 273.15
Kelvin(K) (K - 273.15) * 9/5 + 32 K -273.15 K

Distances

From Inches Feet Yards Miles
Inches(I) I I / 12 I / 36 I / 63360
Feet(F) F * 12 F F / 3 F / 5280
Yards(Y) Y* 36 Y * 3 Y Y / 1760
Miles(M) M * 63360 M * 5280 M * 1760 M

Requirements

  • Users should be able to enter both upper and lower case letters for units
  • Any amount of white space should be allowed inputs
  • The program must compile with both -Wall and -Werror options enabled
  • Submit only the files requested
  • Use doubles to store real numbers
  • Print all doubles to 2 decimal points unless stated otherwise

Assumptions

  • Input is NOT guaranteed to be valid
    • If invalid input is received, your program should report it and terminate
    • Wait until we cover how to handle invalid input in class before dealing with this part of the problem

Tips

  • This problem is very large and you will want to break it down into many functions to help manage complexity
  • When reading in a character don't forget to put a space in front of the %c in scanf
  • You can save yourself a bit of work by always converting to a common unit and then converting to the desired unit
    • For example, always converting yards first and then from yards to the desired unit
  • The exit function in stdlib.h can be very helpful for ending a program early. If you use it make sure to do exit(0)

Examples

Example 1

Pick the type of conversion that you would like to do. T or t for temperature D or d for distance Enter your choice: t Enter the temperature followed by its suffix (F, C, or K): 0K Enter the new unit type (F, C, or K): C 0.00K is -273.15C

Example 2

Pick the type of conversion that you would like to do. T or t for temperature D or d for distance Enter your choice: d Enter the distance followed by its suffix (I,F,Y,M): 5 y Enter the new unit type (I,F,Y,M): i 5.00Y is 180.00I

Example 3

Pick the type of conversion that you would like to do. T or t for temperature D or d for distance Enter your choice: J Unknown conversion type J chosen. Ending program.

Example 4

Pick the type of conversion that you would like to do. T or t for temperature D or d for distance Enter your choice: 10 Invalid formatting. Ending program.

Example 5

Pick the type of conversion that you would like to do. T or t for temperature D or d for distance Enter your choice: t Enter the temperature followed by its suffix (F, C, or K): 42 G G is not a valid temperature type. Ending program.

Example 6

Pick the type of conversion that you would like to do. T or t for temperature D or d for distance Enter your choice: t Enter the temperature followed by its suffix (F, C, or K): 420 Blaze It Invalid formatting. Ending program.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!