I am trying to get the code to loop if the number entered is below 600 and to loop if the input contains letters and symbols. I just cannot do it.
package main
import (
"fmt"
"strconv"
)
func main() {
fmt.Println("How far in metres are the people away from the spacecraft?")
var people string
fmt.Scanf("%s",&people)
number, _ := strconv.Atoi(people)
for number < 600 {
if (number < 0 || number > 0 || people == "0"){
fmt.Println("Too Close
Try Again")
var people string
fmt.Scanf("%s",&people)
number, _ := strconv.Atoi(people)
fmt.Println(number)
}else{
fmt.Println("Only Number Please
Try Again")
var people string
fmt.Scanf("%s",&people)
number, _ := strconv.Atoi(people)
fmt.Println(number)
}
}
fmt.Println("BLAST OFF !!!")
}
eugenioy and Chrono Kitsune are correct.
To clarify what they are saying in code, here is an example:
var people string
var err error
var number int
for {
fmt.Scanf("%s",&people)
number, err = strconv.Atoi(people)
if err == nil {
break
}
fmt.Println("Not a number, please try again")
}
fmt.Println(number)