博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[golang]用Go语言写的课表
阅读量:6497 次
发布时间:2019-06-24

本文共 2524 字,大约阅读时间需要 8 分钟。

hot3.png

 

package main

import (         "fmt"         "os" )

type tt struct {    //定义数据结构 tt,用于存放每日的课程  One string     //0  Two string     //1  Three string      //2  Four string      //3        }    type DAY struct {   //定义数据结构 DAY ,用于存放一周的,英文简写  week string }

func main() {   //主函数   var weekday int    //定义一个int 类型的值,weekday   //fmt.Printf("Enter the weekday : ")   //fmt.Scanf("%d",&weekday)  weekday = getday()         //从getday()函数中得返回值,(如,1,2,3,....7)   print_tt(weekday)       //把从getday()函数中得到的返回值,传送给print_tt()函数,用于显示一周中,特定的星期的课程    }  

func print_tt(weekday int) {   //用于显示每日的课程

DAYS := DAY{"Mon, Tus, Wed, Thu , Fri , Sat , Sun"} //初始化数据结构DAY,值为DAYS,内容为"Mon,Tus,..."     Monday := tt{"1-2,1-604,English" ,"5-6,3-303,MacroEco", "7-8,1-501,Market" , " "}  //定义Monday为tt结构类型,并初始化,下面的理解一样 Tusday := tt{"3-4,Ground,Physical" , "5-6,1-508,Social Market" ,"7-8,(11,15,19),3-308,Xingxi" ," "} Wednesday := tt{"3-4,1-604,English" , "5-6,1-504,Tongjixue" ," " , " "} Thusday := tt{"1-2,English Lisen" , "3-4,5-201,Internation Theory" ," " , " "} Friday := tt{"3-4,3-209,MaoZheDong" , "5-6,1-504,TongjiXue" ," ", " "}  var get_tt int  get_tt = weekday    //下面的如果为判断输入的数字为多少,并分开了两个部分进行比较  if get_tt  > 3 && get_tt < 7 {      //第一部分, 3-7       for i :=3 ;i <= get_tt ; i++ {         if i == get_tt {      switch i {      case 4: fmt.Printf("%s\n%s\n  \n",Thusday.One,Thusday.Two)        case 5: fmt.Printf("%s\n%s\n  \n",Friday.One,Friday.Two)      case 6: fmt.Printf("Holiday Now")     // case 7: fmt.Printf("Holiday now\n")                 }                     }                               }                   } else  if get_tt <=3 && get_tt > 0  {  //第二部分,0-3           for j := 0 ; j <= get_tt ; j++ {         if j == get_tt {      switch j {      case 1: fmt.Printf("%s\n%s\n%s\n  \n",Monday.One,Monday.Two,Monday.Three)      case 2: fmt.Printf("%s\n%s\n%s\n  \n",Tusday.One,Tusday.Two,Tusday.Three)      case 3: fmt.Printf("%s\n%s\n \n",Wednesday.One,Wednesday.Two)                     }                  }                     } } else if get_tt == 8 {        //第三部分是,当get_tt = 8,这个值是为getday()函数默认得到的       fmt.Printf("Please input the weekday name\n")    fmt.Printf("Example: timetable Mon or timetable.exe Mon\n")    fmt.Printf("weekday define as belows\n")    fmt.Printf("%s\n",DAYS.week) } else {  fmt.Printf("Input Error") } }                       func getday() int {     //此函数是将程序运行时,输入的参数改为数字形式,再返回                          //函数的原型为fnuc getday() int ,其中getday()为函数,而这个int为返回值的类型。  if len(os.Args) > 1 { /*os.Args[0] is "timetable" or "timetable.exe" */      if os.Args[1] == "Mon" {       return 1      }   if os.Args[1] == "Tus" {    return 2              }   if os.Args[1] == "Wed" {    return 3              }   if os.Args[1] == "Thu" {    return 4              }   if os.Args[1] == "Fri" {    return 5              }   if os.Args[1] == "Sat" || os.Args[1] == "Sun" {    return 6              } } return 8      //当没有输入参数或者输入的参数,与给出的值,不相同               //就会返回8,这就是在print_tt()函数中的 get_tt = 8,的原因了。 }                             

   

转载于:https://my.oschina.net/sndnvaps/blog/89838

你可能感兴趣的文章
Linux系统/boot目录破损无法启动怎么办
查看>>
[转] JavaScript仿淘宝智能浮动
查看>>
c++ hook 钩子的使用介绍
查看>>
伪终端
查看>>
N皇后问题的位运算求解——目前最快的方法
查看>>
IL rewriting
查看>>
Java 事件适配器 Adapter
查看>>
poj 3321 Apple Tree
查看>>
【转】 LDA必读的资料
查看>>
百度重置页面自动跳转脚本
查看>>
Unity3D常用代码总结
查看>>
Ubuntu 13.10 安装Terminalx 后更改默认终端设置
查看>>
js中document.write的那点事
查看>>
【WP8】ResourceDictionary
查看>>
Lambda表达式可以被转换为委托类型
查看>>
理解正向索引
查看>>
xp/2003开关3389指令
查看>>
Oracle中merge into的使用
查看>>
iOS 设置UILabel 的内边距
查看>>
Android ViewPager使用具体解释
查看>>