github.com/Johannestj/minyr@v0.0.0-20230414065407-214b2a4bca49/main.go (about)

     1  package main
     2  
     3  import (
     4  	"bufio"
     5  	"fmt"
     6  	"os"
     7  	"strings"
     8  	"github.com/Johannestj/minyr/yr"
     9  )
    10  
    11  func main() {
    12  	// Venter på at brukeren skal skrive inn "minyr"
    13  	reader := bufio.NewReader(os.Stdin)
    14  	fmt.Print("Skriv inn 'minyr' for å starte programmet: ")
    15  	text, _ := reader.ReadString('\n')
    16  	if strings.ToLower(strings.TrimSpace(text)) != "minyr" {
    17  		fmt.Println("Ugyldig verdi.")
    18  		return
    19  	}
    20  
    21  	// Viser brukeren en meny med valg
    22  	fmt.Println("Valg:")
    23  	fmt.Println("  - 'convert' for å konvertere tempraturen fra Celsius til Fahrenheit")
    24  	fmt.Println("  - 'average' for å begregne gjennomsnitt tempratur for perioden")
    25  	fmt.Println("Skriv 'q' eller 'quit' for å avbryte.")
    26  	for {
    27  		fmt.Print("Velg: ")
    28  		option, _ := reader.ReadString('\n')
    29  		option = strings.ToLower(strings.TrimSpace(option))
    30  
    31  		if option == "convert" {
    32  			err := yr.Convert()
    33  			if err != nil {
    34  				fmt.Println("Feil med begregning av gjennomsnitt tempratur:", err)
    35  				return
    36  			}
    37  			fmt.Println("Gjennomsnitt begregning fullført.")
    38  			break
    39  		}
    40  
    41  		if option == "average" {
    42  			fmt.Print("Velg enhet for begregning ('c' for Celsius eller 'f' for Fahrenheit): ")
    43  			unit, _ := reader.ReadString('\n')
    44  			unit = strings.ToLower(strings.TrimSpace(unit))
    45  
    46  			avg, err := yr.Average(unit)
    47  			if err != nil {
    48  				fmt.Println("Feil under kalkulasjon:", err)
    49  				return
    50  			}
    51  			fmt.Printf("Gjennomsnittlig tempratur: %.2f %s\n", avg, unit)
    52  			break
    53  		}
    54  
    55  		if option == "q" || option == "Q" || option == "quit" || option == "Quit" {
    56  			fmt.Println("Avbryt program.")
    57  			return
    58  		}
    59  
    60  		fmt.Println("Ugylid verdi, prøv igjen.")
    61  	}
    62  }