page contents

Go 简易计算器

Go 简易计算器

简易计算器

filepath:GOPATH/src/test/main.go
package main

import (
"bufio"
"fmt"
"os"
"test/counter"
)

func Calculator() bool{
var x int
var y int
var operation string
var answer int
fmt.Print("输入x: ")
stdin := bufio.NewReader(os.Stdin)
fmt.Fscanf(stdin,"%d\n", &x)
//fmt.Scanf("%d\n", &x)
if x == 0 {
fmt.Print("请输入正确的数字 ~~~\n")
return false
}
fmt.Print("输入+ - * / 符号: ")
fmt.Scanf("%s\n", &operation)

if operation != "+" && operation != "-" && operation != "*" && operation != "/" {
fmt.Print("请输入正确的运算符~~ (+ - * /)\n")
return false
}
fmt.Print("输入y: ")
fmt.Scanf("%d\n", &y)
if y == 0 {
fmt.Print("请输入正确的数字 ~~~ \n")
return false
}

handler := counter.InputData{x,y,operation}
answer = handler.Ufunc();

fmt.Println(x,operation,y,"=",answer)
fmt.Println("您的计算结果为:",answer)
return true
}

func main() {
for {
Calculator()
}
}
filepath:GOPATH/src/test/counter/handler.go
package counter

type InputData struct {
Num1 int
Num2 int
Operation string
}

func (i InputData) Ufunc() int {
var Sum int
switch i.Operation {
case "+":
Sum = i.Num2 + i.Num1
case "-":
Sum = i.Num1 - i.Num2
case "*":
Sum = i.Num1 * i.Num2
case "/":
Sum = i.Num1 / i.Num2
}
return Sum
}


attachments-2020-12-hsFpBcP85fcb35af0a303.jpg
尝试做验证,x 与运算符 验证正常  y输入非int时 第二次获取的x值貌似有问题



  • 发表于 2020-12-05 15:30
  • 阅读 ( 906 )
  • 分类:Golang

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
muEasy
muEasy

2 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1478 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章