• Golang 实现商城购买小程序



    1. 例一

    package main
    
    import "fmt"
    
    // 定义判断函数,确定到那个商店购物
    // 确定商店后跳转到商店对应的函数,判断购物类型和数量
    // 在 main 函数进行调用汇总
    // 声明的变量太多,有需要可以自行优化
    
    var sum1,buy1 int
    var a1,b1,c1,d1 int
    var sum2,buy2 int
    var a2,b2,c2,d2 int
    var sum3,buy3 int
    var a3,b3,c3,d3 int
    var sum4,buy4 int
    var a4,b4,c4,d4 int
    var sum5,buy5 int
    var a5,b5,c5,d5 int
    
    
    func main() {
    	var sum,a,b,c,d int
    	judge()
    	sum = sum1 + sum2 + sum3 + sum4 + sum5
    	a = a1 + a2 + a3 + a4 + a5
    	b = b1 + b2 + b3 + b4 + b5
    	c = c1 + c2 + c3 + c4 + c5
    	d = d1 + d2 + d3 + d4 + d5
    	fmt.Println("消费总金额为:",sum)
    	fmt.Println("衣服购买了",a,"件")
    	fmt.Println("裤子购买了",b,"件")
    	fmt.Println("鞋子购买了",c,"件")
    	fmt.Println("帽子购买了",d,"件")
    }
    
    func judge() {
    	var choice int
    	for i:=1;i<=5;i++ {	// 循环购买5次,输入5结束本商店购买
    		fmt.Println("商店总数为5,在选择商店的时候输入超过5数字会结束购买!")
    		fmt.Println("请输入商店编号:")
    		fmt.Scan(&choice)
    		switch choice {
    		case 1:
    			{
    				shop1()
    			}
    		case 2:
    			{
    				shop2()
    			}
    		case 3:
    			{
    				shop3()
    			}
    		case 4:
    			{
    				shop4()
    			}
    		case 5:
    			{
    				shop5()
    			}
    		default:
    			return
    		}
    	}
    }
    
    func shop1() {
    	for i:=1;i<=5;i++ { // 本商店循环购买五次
    		fmt.Println("=====第一家店欢迎选购商品!=====")
    		fmt.Println("商品列表:\n1.衣服\n2.裤子\n3.帽子\n4.鞋子\n5.结束购买")
    		fmt.Println("请输入想要购买的商品编号(1 2 3 4 5)")
    		fmt.Scan(&buy1)
    		switch buy1 {
    		case 1:
    			{
    				fmt.Println("购买衣服一件")
    				a1 += 1
    				sum1 += 250
    			}
    		case 2:
    			{
    				fmt.Println("购买裤子一件")
    				b1 += 1
    				sum1 += 150
    			}
    		case 3:
    			{
    				fmt.Println("购买帽子一件")
    				c1 += 1
    				sum1 += 80
    			}
    		case 4:
    			{
    				fmt.Println("购买鞋子一件")
    				d1 += 1
    				sum1 += 200
    			}
    		case 5:
    			{
    				fmt.Println("结束一号商店购买")
    				return
    			}
    		}
    	}
    }
    
    func shop2() {
    	for i:=1;i<=5;i++ {
    		fmt.Println("=====第二家店欢迎选购商品!=====")
    		fmt.Println("商品列表:\n1.衣服\n2.裤子\n3.帽子\n4.鞋子\n5.结束购买")
    		fmt.Println("请输入想要购买的商品编号(1 2 3 4 5)")
    		fmt.Scan(&buy2)
    		switch buy2 {
    		case 1:
    			{
    				fmt.Println("购买衣服一件")
    				a2 += 1
    				sum2 += 250
    			}
    		case 2:
    			{
    				fmt.Println("购买裤子一件")
    				b2 += 1
    				sum2 += 150
    			}
    		case 3:
    			{
    				fmt.Println("购买帽子一件")
    				c2 += 1
    				sum2 += 80
    			}
    		case 4:
    			{
    				fmt.Println("购买鞋子一件")
    				d2 += 1
    				sum2 += 200
    			}
    		case 5:
    			{
    				fmt.Println("结束二号商店购买")
    				return
    			}
    		}
    	}
    }
    
    func shop3() {
    	for i:=1;i<=5;i++ {
    		fmt.Println("=====第三家店欢迎选购商品!=====")
    		fmt.Println("商品列表:\n1.衣服\n2.裤子\n3.帽子\n4.鞋子\n5.结束购买")
    		fmt.Println("请输入想要购买的商品编号(1 2 3 4 5)")
    		fmt.Scan(&buy3)
    		switch buy3 {
    		case 1:
    			{
    				fmt.Println("购买衣服一件")
    				a3 += 1
    				sum3 += 250
    			}
    		case 2:
    			{
    				fmt.Println("购买裤子一件")
    				b3 += 1
    				sum3 += 150
    			}
    		case 3:
    			{
    				fmt.Println("购买帽子一件")
    				c3 += 1
    				sum3 += 80
    			}
    		case 4:
    			{
    				fmt.Println("购买鞋子一件")
    				d3 += 1
    				sum3 += 200
    			}
    		case 5:
    			{
    				fmt.Println("结束三号商店购买")
    				return
    			}
    		}
    	}
    }
    
    func shop4() {
    	for i:=1;i<=5;i++ {
    		fmt.Println("=====第四家店欢迎选购商品!=====")
    		fmt.Println("商品列表:\n1.衣服\n2.裤子\n3.帽子\n4.鞋子\n5.结束购买")
    		fmt.Println("请输入想要购买的商品编号(1 2 3 4 5)")
    		fmt.Scan(&buy4)
    		switch buy4 {
    		case 1:
    			{
    				fmt.Println("购买衣服一件")
    				a4 += 1
    				sum4 += 250
    			}
    		case 2:
    			{
    				fmt.Println("购买裤子一件")
    				b4 += 1
    				sum4 += 150
    			}
    		case 3:
    			{
    				fmt.Println("购买帽子一件")
    				c4 += 1
    				sum4 += 80
    			}
    		case 4:
    			{
    				fmt.Println("购买鞋子一件")
    				d4 += 1
    				sum4 += 200
    			}
    		case 5:
    			{
    				fmt.Println("结束四号商店购买")
    				return
    			}
    		}
    	}
    }
    
    func shop5() {
    	for i:=1;i<=5;i++ {
    		fmt.Println("=====第五家店欢迎选购商品!=====")
    		fmt.Println("商品列表:\n1.衣服\n2.裤子\n3.帽子\n4.鞋子\n5.结束购买")
    		fmt.Println("请输入想要购买的商品编号(1 2 3 4 5)")
    		fmt.Scan(&buy5)
    		switch buy5 {
    		case 1:
    			{
    				fmt.Println("购买衣服一件")
    				a5 += 1
    				sum5 += 250
    			}
    		case 2:
    			{
    				fmt.Println("购买裤子一件")
    				b5 += 1
    				sum5 += 150
    			}
    		case 3:
    			{
    				fmt.Println("购买帽子一件")
    				c5 += 1
    				sum5 += 80
    			}
    		case 4:
    			{
    				fmt.Println("购买鞋子一件")
    				d5 += 1
    				sum5 += 200
    			}
    		case 5:
    			{
    				fmt.Println("结束五号商店购买")
    				return
    			}
    		}
    	}
    }
    

    2. 例二

    package main
    
    import "fmt"
    
    func main() {
    	var (
    		jacker        int    = 250 //上衣价格
    		jackCount     int          //上衣购买次数
    		trousers      int    = 150 //裤子价格
    		trousersCount int          //裤子购买次数
    		cap           int    = 80  //帽子价格
    		capCount      int          //帽子购买次数
    		shoe          int    = 200 //鞋子价格
    		shoeCount     int          //鞋子购买次数
    		fir           string       //定义第一家商店
    		choice        string       //选择商品
    		sum           int          //总金额
    		count         int          //商品的购买次数
    	) 
    
    	for i := 1; i < 6; i++ {
    		fmt.Println("是否进入第", i, "家商店?", "\nyes/no:")
    		fmt.Scan(&fir)
    		switch {
    		case fir == "yes":
    			fmt.Println("欢迎来带第", i, "家店铺!")
    			fmt.Println("-------店内商品如下-------")
    			fmt.Println("1:上衣", "价格:", jacker)
    			fmt.Println("2:裤子", "价格:", trousers)
    			fmt.Println("3:帽子", "价格:", cap)
    			fmt.Println("4:鞋子", "价格:", shoe)
    			fmt.Println("5:不购买,退出商店!")
    			fmt.Println("-------------------------")
    			for i := 1; i < 6; i++ {
    				sum += count
    				fmt.Println("请输入您要购买的商品号:")
    				fmt.Scan(&choice)
    				switch choice {
    				case "1":
    					fmt.Println("您选择的是上衣,价格为:", jacker)
    					jackCount++
    					count += jacker //单次购买的金额
    				case "2":
    					fmt.Println("您选择的是裤子,价格为:", trousers)
    					trousersCount++
    					count += trousers
    				case "3":
    					fmt.Println("您选择的是帽子,价格为:", cap)
    					capCount++
    					count += cap
    				case "4":
    					fmt.Println("您选择的是鞋子,价格为:", shoe)
    					shoeCount++
    					count += shoe
    				case "5":
    					fmt.Println("欢迎下次光临!")
    					goto TAG
    				}
    			}
    		}
    	TAG:
    		fmt.Println("您一共消费了:", sum, "¥")
    		fmt.Println("买了", jackCount, "件上衣")
    		fmt.Println("买了", trousersCount, "件裤子")
    		fmt.Println("买了", capCount, "件帽子")
    		fmt.Println("买了", shoeCount, "件鞋子")
    	}
    }
    

    3. 例三

    main.go

    package main
    
    import (
    	"fmt"
    	"dev_code/go_shopping/tool"
    )
    
    var (
    	n     int = 1	//商店个数
    	doing string	//是否进店
    	price float64	//消费总金额
    	count [4]int	//产品数量
    	exe   string	//购物行为
    )
    
    func main() {
    	for {
    		fmt.Println("进入商店(yes/no):")
    		fmt.Scan(&doing)
    		a, b := tool.SelectShopping(doing, &n)
    		if a && b {
    			price += tool.Census(&count)
    		} else {
    			if a || b {
    				goto HERE
    			} else {
    				continue
    			}
    		}
    	HERE:
    		fmt.Println("退出购物?(y/n):")
    		fmt.Scan(&exe)
    		if exe == "y" {
    			break
    		} else {
    			continue
    		}
    	}
    	fmt.Println("购物总消费(¥):",price)
    	fmt.Println("衣服(件):",count[0])
    	fmt.Println("裤子(条):",count[1])
    	fmt.Println("帽子(顶):",count[2])
    	fmt.Println("鞋子(双):",count[3])
    }
    

    tool.go

    package tool
    
    import "fmt"
    
    // 产品清单选择
    func ShowInfo() int {
    	var (
    		num int
    	)
    	fmt.Println("1.衣服¥300")
    	fmt.Println("2.裤子¥200")
    	fmt.Println("3.帽子¥50")
    	fmt.Println("4.鞋子¥150")
    	fmt.Println("其他数字表示退出选购!")
    	fmt.Print("请输入产品编号:")
    	fmt.Scan(&num)
    	return num
    }
    
    // 商店选择
    func SelectShopping(doing string, n *int) (bool,bool) {
    	switch {
    	case doing == "yes":
    		fmt.Println("欢迎光临第",*n,"家商店!")
    		*n++    // 这里的 n 为引用传递,实现地址存放变量值的自加
    		return true,true
    	case doing == "no":
    		fmt.Println("欢迎下次光临!")
    		*n++
    		return true,false
    	default:
    		fmt.Println("输入有误,请重新输入!")
    		return false,false
    	}
    }
    
    // 商品价格计算
    func Census(count *[4]int) float64 {
    	var (
    		pri float64
    	)
    	for {
    		s := ShowInfo()
    		switch {
    		case s == 1:
    			pri += 300
    			(*count)[0]++
    			fmt.Println("已成功购买衣服!")
    		case s == 2:
    			pri += 200
    			(*count)[1]++
    			fmt.Println("已成功购买裤子!")
    		case s == 3:
    			pri += 50
    			(*count)[2]++
    			fmt.Println("已成功购买帽子!")
    		case s == 4:
    			pri += 150
    			(*count)[3]++
    			fmt.Println("已成功购买鞋子!")
    		default:
    			goto TAG
    		}
    	}
    TAG:
    	return pri
    }
    
  • 相关阅读:
    android的dex,odex,oat,vdex,art文件格式
    windows写时复制处理流程
    .NET 6中读取配置文件内容
    .net core 配置文件
    C# 格式化json
    .net 安全
    07. 图像的翻转、旋转、仿射变换、透视变换
    05. 绘制基本的图像
    03. Pillow包解决opencv中文乱码
    08. 滤波(卷积、均值、高斯、中值、双边滤波)
  • 原文地址:https://www.cnblogs.com/shenyuanhaojie/p/16045165.html
Copyright © 2020-2023  润新知