[golang]用Go语言写的课表

原创
2012/11/16 20:22
阅读数 2.9K
 

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,的原因了。 }                             

   

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
6 收藏
0
分享
返回顶部
顶部