trying_out_go/average.go

45 lines
761 B
Go

package main
import (
"bufio"
"fmt"
"log"
"os"
"strconv"
"strings"
"git.linuxhg.com/john-okeefe/keyboard"
)
func Error(err error) {
if err != nil {
log.Fatal(err)
}
return
}
func average() {
fmt.Printf("What is the name of the file: ")
fileString, err := keyboard.GetString()
Error(err)
fileString = strings.TrimSpace(fileString)
file, err := os.Open(fileString)
Error(err)
var sum float64 = 0
scanner := bufio.NewScanner(file)
counter := 0
for scanner.Scan() {
number, err := strconv.ParseFloat(scanner.Text(), 64)
Error(err)
sum += number
counter++
}
err = file.Close()
Error(err)
if scanner.Err() != nil {
log.Fatal(scanner.Err())
}
sampleCount := float64(counter)
fmt.Printf("Average: %0.2f\n", sum/sampleCount)
}