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
  • 阅读 ( 68 )
  • 分类:Golang

你可能感兴趣的文章

0 条评论

请先 登录 后评论
muEasy
muEasy

2 篇文章

作家榜 »

  1. Pack 1100 文章
  2. 轩辕小不懂 38 文章
  3. 吉洪叶 21 文章
  4. 天晓冥 2 文章
  5. muEasy 2 文章
  6. 百日慕晴 2 文章
  7. baiyang 2 文章
  8. 翠翠老师 1 文章