Funziona tutto tranne i messaggi di errore duplicati
This commit is contained in:
parent
ca724b2919
commit
358c392db9
81
main.go
81
main.go
@ -1,5 +1,82 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
func main(){
|
import (
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
}
|
func main() {
|
||||||
|
var operatore1, operatore2 float32
|
||||||
|
var exit bool
|
||||||
|
|
||||||
|
for !exit {
|
||||||
|
fmt.Print("Inserire il primo numero: ")
|
||||||
|
_, err := fmt.Scanf("%f", &operatore1)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("\nValore non valido")
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
for !exit {
|
||||||
|
|
||||||
|
fmt.Print("Inserire il secondo numero: ")
|
||||||
|
_, err := fmt.Scanf("%f", &operatore2)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("\nValore non valido")
|
||||||
|
} else {
|
||||||
|
exit = menu(operatore1, operatore2)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func menu(operatore1, operatore2 float32) bool{
|
||||||
|
var scelta uint8
|
||||||
|
var exit bool
|
||||||
|
|
||||||
|
for !exit {
|
||||||
|
|
||||||
|
fmt.Println("Inserire un'opzione")
|
||||||
|
fmt.Println("1. Addizione")
|
||||||
|
fmt.Println("2. Sottrazione")
|
||||||
|
fmt.Println("3. Moltiplicazione")
|
||||||
|
fmt.Println("4. Divisione")
|
||||||
|
fmt.Println("0. Esci")
|
||||||
|
fmt.Print("Scelta: ")
|
||||||
|
|
||||||
|
_, err := fmt.Scanf("%d", &scelta)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("\nValore non valido")
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
switch scelta {
|
||||||
|
|
||||||
|
case 0:
|
||||||
|
exit = true
|
||||||
|
case 1:
|
||||||
|
fmt.Printf("%f + %f = %f\n", operatore1, operatore2, operatore1+operatore2)
|
||||||
|
case 2:
|
||||||
|
fmt.Printf("%f - %f = %f\n", operatore1, operatore2, operatore1-operatore2)
|
||||||
|
case 3:
|
||||||
|
fmt.Printf("%f * %f = %f\n", operatore1, operatore2, operatore1*operatore2)
|
||||||
|
case 4:
|
||||||
|
if operatore2 == 0 {
|
||||||
|
fmt.Println("Impossibile dividere per zero")
|
||||||
|
} else {
|
||||||
|
fmt.Printf("%f / %f = %f\n", operatore1, operatore2, operatore1/operatore2)
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
fmt.Println("Opzione non valida")
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return exit
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user