tocelsius.go 730 B

12345678910111213141516171819202122232425262728293031323334353637
  1. // tocelsius преобразует температуру в крадусах
  2. // по Фаренгейту в градусы по Цельсию
  3. package main
  4. import (
  5. "bufio"
  6. "fmt"
  7. "log"
  8. "os"
  9. "strconv"
  10. "strings"
  11. )
  12. func getFloat() (float64, error) {
  13. reader := bufio.NewReader(os.Stdin)
  14. input, err := reader.ReadString('\n')
  15. if err != nil {
  16. return 0, err
  17. }
  18. input = strings.TrimSpace(input)
  19. number, err := strconv.ParseFloat(input, 64)
  20. if err != nil {
  21. return 0, err
  22. }
  23. return number, nil
  24. }
  25. func main() {
  26. fmt.Print("Enter a temperature in Fahrenheit: ")
  27. fahrenheit, err := getFloat()
  28. if err != nil {
  29. log.Fatal(err)
  30. }
  31. celsius := (fahrenheit - 32) * 5 / 9
  32. fmt.Printf("%0.2f degrees Celsius\n", celsius)
  33. }