Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Time it took Matthew to complete: 40 minutes
- Files to submit: conversions.c
- Requriements
- 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
- Restrictions
- No global variables may be used
- Your main function may only declare variables and call other functions
- Description
- In this program you will be converting measurements from one unit to another.
- 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
- Assumptions
- Input is NOT guarenteed 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.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement