Skip to content

Instantly share code, notes, and snippets.

@adilw3nomad
Created June 3, 2019 06:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adilw3nomad/3b6ac24b9c148fc0101f1d9eff366129 to your computer and use it in GitHub Desktop.
Save adilw3nomad/3b6ac24b9c148fc0101f1d9eff366129 to your computer and use it in GitHub Desktop.
go
package main
import (
"bufio"
"encoding/csv"
"fmt"
"log"
"os"
"strings"
)
type quizItem struct {
question string
answer string
}
func main() {
csvFile, err := os.Open("problems.csv")
if err != nil {
log.Fatal(err)
}
defer csvFile.Close()
reader := csv.NewReader(csvFile)
records, err := reader.ReadAll()
if err != nil {
log.Fatal(err)
}
for i := 0; i < len(records); i++ {
// Create quizItem object
quizItem := quizItem{records[i][0], records[i][1]}
// Print out the question
fmt.Println("Question:", quizItem.question)
// Create reader and allow user to input their answer
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter your answer now: ")
// Expect answer to be given once they hit return
text, _ := reader.ReadString('\n')
fmt.Println("Your answer is:", text)
// Trim the newline suffix from the input
text = strings.TrimSuffix(text, "\n")
if text == quizItem.answer {
fmt.Println("Correct! Well done")
} else {
fmt.Println("WRONG! Answer is:", quizItem.answer)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment