GoLang练习实例100之004----判断日期是这一年的第几天

不折腾难受斯基 · · 2686 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

package main

import (
	"fmt"
)

var(
	input_Data int
	result  int
	year_data int
	month_data int
	day_data int
	sum int
)

//题目:输入某年某月某日,判断这一天是这一年的第几天?

func get_Input(input_Type string) (int,error) {
	switch input_Type {
	case "year":
		fmt.Println("输入年份: ")
		fmt.Scanln(&input_Data)
		if input_Data <1 {
			fmt.Println("年份输入错误,请重新输入!")
			break
		}
		result = input_Data
	case "month":
		months := []int{0,31,59,90,120,151,181,212,243,273,304,334}
		fmt.Println("输入月份:")
		fmt.Scanln(&input_Data)
		if (input_Data <= 12) && (input_Data<0) {
			fmt.Println("月份输入错误,请重新输入!")
			break
		}
		result = months[input_Data-1]
	case "day":
		fmt.Println("输入日期:")
		fmt.Scanln(&input_Data)
		if (input_Data <0) && (input_Data>31) {
			fmt.Println("日期输入错误,请重新输入!")
			break
		}
		result = input_Data
	default:
		return 0,fmt.Errorf("输入参数非法:%s",input_Type)
	}
	return result,nil
}

func main() {
	year_data,_ = get_Input("year")
	month_data,_ = get_Input("month")
	day_data,_ = get_Input("day")

	sum += day_data+ month_data
	leap := 0
	if (year_data % 400 == 0) || ((year_data % 4 == 0) && (year_data % 100 != 0)){
		leap = 1
	}
	if (leap == 1) && (month_data > 2) {
		sum += 1
	}
	fmt.Printf("该日期为第%s天",sum)
}

 


有疑问加站长微信联系(非本文作者)

本文来自:开源中国博客

感谢作者:不折腾难受斯基

查看原文:GoLang练习实例100之004----判断日期是这一年的第几天

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2686 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传