zoukankan      html  css  js  c++  java
  • golang-练习ATM

    package main
    
    import "fmt"
    
    var (
        action int
        loop bool = true
        save_money int
        money int
        draw_money int
    )
    
    func find() {
        fmt.Printf("余额为:%d 
    ",money)
    }
    func save() {
        fmt.Println("请输入存款金额:")
        //fmt.Scanf("%d
    ",&save_money) //使用scanf必须加
    不然会打印两次
        fmt.Scanln(&save_money)
        fmt.Println(save_money)
        money += save_money
        fmt.Printf("存款金额%d,存款成功
    ",save_money)
    }
    func draw() {
        fmt.Println("请输入具体取款金额:")
        fmt.Scanln(&draw_money)
        if draw_money <= money{
            money -= draw_money
            fmt.Printf("成功取款,余额为:%d
    ",money)
        }else {
            fmt.Println("余额不足")
        }
    }
    func manager()  {
        fmt.Println("-----欢迎登陆中国银行-----")
        fmt.Println("	1:查询余额")
        fmt.Println("	2:存款")
        fmt.Println("	3:取款")
        fmt.Println("	4:退出")
        fmt.Println("请输入你的操作:")
        fmt.Scanln(&action)
        switch action {
        case 1:
            find()
        case 2:
            save()
        case 3:
            draw()
        case 4:
            loop = false
        default:
            fmt.Println("输入有误,请输入1-4之间的数字")
        }
    }
    
    func main() {
        for {
            manager()
            if loop == false{
                fmt.Println("----欢迎使用,再见----")
                break
            }
        }
    }
    package main
    
    import (
        "fmt"
        "strings"
    )
    
    var (
        action int
        loop bool = true
        save_money int
        money int
        draw_money int
    )
    
    func find() {
        fmt.Printf("余额为:%d 
    ",money)
    }
    func save() {
        fmt.Println("请输入存款金额:")
        //fmt.Scanf("%d
    ",&save_money) //使用scanf必须加
    不然会打印两次
        fmt.Scanln(&save_money)
        fmt.Println(save_money)
        money += save_money
        fmt.Printf("存款金额%d,存款成功
    ",save_money)
    }
    func draw() {
        fmt.Println("请输入具体取款金额:")
        fmt.Scanln(&draw_money)
        if draw_money <= money{
            money -= draw_money
            fmt.Printf("成功取款,余额为:%d
    ",money)
        }else {
            fmt.Println("余额不足")
        }
    }
    func add_goods(g *map[string]int) {
        for{
            var(
                name string
                price int
            )
            fmt.Println("输入新增的商品名称,按Q退出:")
            fmt.Scanln(&name)
            if strings.ToUpper(name)=="Q"{
                break
            }
            fmt.Println("输入该商品价格:")
            fmt.Scanln(&price)
            (*g)[name]= price
        }
    }
    
    func shop_car(gn string,gl *[]string)  {
        for{
            fmt.Println("输入要购买的商品(Q退出):")
            fmt.Scanln(&gn)
            if gn =="Q" {
                break
            }
            *gl = append(*gl,gn)
        }
    
    }
    func shoping() {
        shop_goods := make(map[string]int)
        goods_list := make([]string,0)
        var goodName string
        var shopmany int
        if len(shop_goods)==0 {
            add_goods(&shop_goods)
        }
        fmt.Println(shop_goods)
        shop_car(goodName ,&goods_list)
        for i:=0 ; i<len(goods_list);i++{
            v,_ :=shop_goods[goods_list[i]]
            shopmany += v
        }
        if money < shopmany{
            fmt.Println("购物失败,余额不足,请及时充值")
        }else{
            money -=  shopmany
        }
    }
    func manager()  {
        fmt.Println("-----欢迎登陆中国银行-----")
        fmt.Println("	1:查询余额")
        fmt.Println("	2:存款")
        fmt.Println("	3:取款")
        fmt.Println("	4:购物")
        fmt.Println("	5:退出")
        fmt.Println("请输入你的操作:")
        fmt.Scanln(&action)
        switch action {
        case 1:
            find()
        case 2:
            save()
        case 3:
            draw()
        case 4:
            shoping()
        case 5:
            loop = false
        default:
            fmt.Println("输入有误,请输入1-4之间的数字")
        }
    }
    
    func main() {
        for {
            manager()
            if loop == false{
                fmt.Println("----欢迎使用,再见----")
                break
            }
        }
    }
  • 相关阅读:
    优秀开源项目
    详细解读Android中的搜索框(四)—— Searchable配置文件
    详细解读Android中的搜索框(三)—— SearchView
    详细解读Android中的搜索框(二)—— Search Dialog
    判断listview滑动方向的代码片段
    详细解读Android中的搜索框(一)—— 简单小例子
    通过Spannable对象设置textview的样式
    用开源项目circular progress button实现有进度条的Button
    低版本系统兼容的ActionBar(七)自定义Actionbar标题栏字体
    WebView入门
  • 原文地址:https://www.cnblogs.com/dribs/p/10141560.html
Copyright © 2011-2022 走看看