Skip to content

Commit

Permalink
Implement Rankine to Celsius, Fahrenheit, and Kelvin conversion.
Browse files Browse the repository at this point in the history
  • Loading branch information
kentlouisetonino committed May 18, 2024
1 parent 49ab439 commit 121c3ac
Show file tree
Hide file tree
Showing 7 changed files with 89 additions and 3 deletions.
4 changes: 2 additions & 2 deletions src/displays/app_options.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ func AppOptions() {
fmt.Println(Tab, " ", openBracket, optionNumber(1), closeBracket, "Celsius (°C)")
fmt.Println(Tab, " ", openBracket, optionNumber(2), closeBracket, "Fahrenheit (°F)")
fmt.Println(Tab, " ", openBracket, optionNumber(3), closeBracket, "Kelvin (°K)")
// fmt.Println(Tab, " ", openBracket, optionNumber(4), closeBracket, "Rankine (°R)")
fmt.Println(Tab, " ", openBracket, optionNumber(4), closeBracket, "Exit Application")
fmt.Println(Tab, " ", openBracket, optionNumber(4), closeBracket, "Rankine (°R)")
fmt.Println(Tab, " ", openBracket, optionNumber(5), closeBracket, "Exit Application")
}
5 changes: 5 additions & 0 deletions src/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"github.com/kentlouisetonino/tempscale/src/services/celsius"
"github.com/kentlouisetonino/tempscale/src/services/fahrenheit"
"github.com/kentlouisetonino/tempscale/src/services/kelvin"
"github.com/kentlouisetonino/tempscale/src/services/rankine"
)

func main() {
Expand Down Expand Up @@ -54,6 +55,10 @@ func main() {
kelvin.Conversion()
}

if optionInput == "4" {
rankine.Conversion()
}

if optionInput == "4" {
displays.ClearScreen()
displays.AppExit()
Expand Down
1 change: 0 additions & 1 deletion src/services/rankine.go

This file was deleted.

67 changes: 67 additions & 0 deletions src/services/rankine/conversion.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
package rankine

import (
"fmt"

"github.com/kentlouisetonino/tempscale/src/displays"
)

func Conversion() {
var rankineInput float64
var celsiusInputError bool = false
var conversionMenuInput int
var backToMainMenu bool = false

for backToMainMenu == false {
// Clear the screen.
displays.ClearScreen()
displays.AddNewline()
displays.AddNewline()

// Show the description.
displays.FahrenheitOptionDescription()
displays.AddNewline()

// Error instruction.
if celsiusInputError {
displays.AppOptionInputError()
displays.AddNewline()
}

// Ask the celsius input.
fmt.Print(displays.Tab, " ", "Rankine (°R)", displays.Tab, displays.Tab, ": ")
_, err := fmt.Scan(&rankineInput)

if err != nil {
celsiusInputError = true
continue
}

// Display the equivalent of Celsius to Fahrenheit, Kelvin, Rankine.
fmt.Print(displays.Tab, " ", "Celsius (°C)", displays.Tab, displays.Tab, ": ", displays.ColorGreen, convertToCelsius(rankineInput), displays.ColorReset);
displays.AddNewline()
fmt.Print(displays.Tab, " ", "Fahrenheit (°F)", displays.Tab, ": ", displays.ColorGreen, convertToFahrenheit(rankineInput), displays.ColorReset);
displays.AddNewline()
fmt.Print(displays.Tab, " ", "Kelvin (°K)", displays.Tab, displays.Tab, ": ", displays.ColorGreen, convertToKelvin(rankineInput), displays.ColorReset)
displays.AddNewline()
displays.AddNewline()

// Ask if user wants to retry or go back to main menu.
fmt.Print(displays.Tab, " ", displays.ColorBlue, "[1-Retry, 2-Back, Any-Exit]", displays.ColorReset, displays.Tab, ": ")
_, err = fmt.Scan(&conversionMenuInput)

if err != nil {
displays.ClearScreen()
displays.AppExit()
}

if conversionMenuInput == 1 {
continue
} else if conversionMenuInput == 2 {
backToMainMenu = true
} else {
displays.ClearScreen()
displays.AppExit()
}
}
}
5 changes: 5 additions & 0 deletions src/services/rankine/convert_to_celsius.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package rankine

func convertToCelsius(rankine float64) float64 {
return (rankine - 491.67) * (5.0 / 9.0)
}
5 changes: 5 additions & 0 deletions src/services/rankine/convert_to_fahrenheit.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package rankine

func convertToFahrenheit(rankine float64) float64 {
return rankine - 459.67
}
5 changes: 5 additions & 0 deletions src/services/rankine/convert_to_kelvin.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package rankine

func convertToKelvin(rankine float64) float64 {
return rankine * (5.0 / 9.0)
}

0 comments on commit 121c3ac

Please sign in to comment.