天天看點

綜合練習:雙排月曆

将兩個月曆并排列印

如果你可以獨立完成,那說明你對程式設計已經有了一定的控制能力了

1

綜合練習:雙排月曆

public static void Main(string[] args)

2

綜合練習:雙排月曆

 {

3

綜合練習:雙排月曆

4

綜合練習:雙排月曆

5

綜合練習:雙排月曆

 System.DateTime dt1 = new System.DateTime(2004, 1, 1);

6

綜合練習:雙排月曆

 System.DateTime dt2 = new System.DateTime(2004, 2, 1);

7

綜合練習:雙排月曆

 System.DateTime tmpdt;

8

綜合練習:雙排月曆

 int tmpMonth1;//記錄目前要操作的單月

9

綜合練習:雙排月曆

 int tmpMonth2;//記錄目前要操作的偶月

10

綜合練習:雙排月曆

 int change = 0;//0為單月,1為偶月

11

綜合練習:雙排月曆

 char[] weekChar = "日一二三四五六".ToCharArray();

12

綜合練習:雙排月曆

13

綜合練習:雙排月曆

 //輸出标題,每個标題之間空2個間隔,每個月之間空4個間隔

14

綜合練習:雙排月曆

 for (int j = 0; j <= 1; j++)

15

綜合練習:雙排月曆

16

綜合練習:雙排月曆

 for (int i = 0; i <= weekChar.Length - 1; i++)

17

綜合練習:雙排月曆

18

綜合練習:雙排月曆

 System.Console.Write("{0} ", weekChar[i]);

19

綜合練習:雙排月曆

 }

20

綜合練習:雙排月曆

 System.Console.Write(" ");

21

綜合練習:雙排月曆

22

綜合練習:雙排月曆

 System.Console.WriteLine();

23

綜合練習:雙排月曆

 tmpMonth1 = dt1.Month; tmpMonth2 = dt2.Month;

24

綜合練習:雙排月曆

 tmpdt = dt1;//将要列印的月交給列印控制

25

綜合練習:雙排月曆

26

綜合練習:雙排月曆

 do//控制月

27

綜合練習:雙排月曆

28

綜合練習:雙排月曆

 //定位每月的第一個列印位置(跳出需要列印月的不要列印)

29

綜合練習:雙排月曆

 if (tmpdt.Day == 1)

30

綜合練習:雙排月曆

 {//如果是目前控制月的第一天,先需要列印定位

31

綜合練習:雙排月曆

 if (tmpMonth1 == dt1.Month && tmpMonth2 == dt2.Month)

32

綜合練習:雙排月曆

33

綜合練習:雙排月曆

 for (int i = 0; i <= (int)tmpdt.DayOfWeek - 1; i++)

34

綜合練習:雙排月曆

35

綜合練習:雙排月曆

 System.Console.Write("{0}{1}", " ", " ");

36

綜合練習:雙排月曆

37

綜合練習:雙排月曆

38

綜合練習:雙排月曆

 else//不是本月就不要打了

39

綜合練習:雙排月曆

40

綜合練習:雙排月曆

 System.Console.Write("");

41

綜合練習:雙排月曆

42

綜合練習:雙排月曆

43

綜合練習:雙排月曆

44

綜合練習:雙排月曆

 //列印每一天

45

綜合練習:雙排月曆

 if (tmpdt.Day < 10)//如果日期<10,在前面多打一個空格

46

綜合練習:雙排月曆

 {//正常情況正常列印

47

綜合練習:雙排月曆

48

綜合練習:雙排月曆

49

綜合練習:雙排月曆

 System.Console.Write(" {0} ", tmpdt.Day);

50

綜合練習:雙排月曆

51

綜合練習:雙排月曆

 else

52

綜合練習:雙排月曆

 {//否則不列印日期,隻列印一個占位間隔

53

綜合練習:雙排月曆

 if (change == 0 && tmpMonth1 != dt1.Month)

54

綜合練習:雙排月曆

55

綜合練習:雙排月曆

 System.Console.Write(" {0} ", " ");

56

綜合練習:雙排月曆

57

綜合練習:雙排月曆

 if (change == 1 && tmpMonth2 != dt2.Month)

58

綜合練習:雙排月曆

59

綜合練習:雙排月曆

60

綜合練習:雙排月曆

61

綜合練習:雙排月曆

62

綜合練習:雙排月曆

63

綜合練習:雙排月曆

64

綜合練習:雙排月曆

65

綜合練習:雙排月曆

 System.Console.Write("{0} ", tmpdt.Day);

66

綜合練習:雙排月曆

67

綜合練習:雙排月曆

68

綜合練習:雙排月曆

 //處理周六的情況

69

綜合練習:雙排月曆

 if (tmpdt.DayOfWeek == System.DayOfWeek.Saturday)

70

綜合練習:雙排月曆

 {//列印周六後是列印月間隔(單月)還是換行(偶月),同時收回列印控制

71

綜合練習:雙排月曆

72

綜合練習:雙排月曆

 if (change == 0)

73

綜合練習:雙排月曆

 {//單月

74

綜合練習:雙排月曆

 dt1 = tmpdt.AddDays(1);

75

綜合練習:雙排月曆

 System.Console.Write(" ");//月間隔

76

綜合練習:雙排月曆

 tmpdt = dt2;//交換控制

77

綜合練習:雙排月曆

78

綜合練習:雙排月曆

79

綜合練習:雙排月曆

 {//雙月

80

綜合練習:雙排月曆

 dt2 = tmpdt.AddDays(1);

81

綜合練習:雙排月曆

 System.Console.WriteLine("");//換行

82

綜合練習:雙排月曆

 tmpdt = dt1;//交換控制

83

綜合練習:雙排月曆

84

綜合練習:雙排月曆

 change = 1 - change;//切換标志

85

綜合練習:雙排月曆

86

綜合練習:雙排月曆

 else//僅僅轉到下一天

87

綜合練習:雙排月曆

88

綜合練習:雙排月曆

 tmpdt = tmpdt.AddDays(1);

89

綜合練習:雙排月曆

90

綜合練習:雙排月曆

 { dt1 = tmpdt; }

91

綜合練習:雙排月曆

92

綜合練習:雙排月曆

 { dt2 = tmpdt; }

93

綜合練習:雙排月曆

94

綜合練習:雙排月曆

95

綜合練習:雙排月曆

 //交換單偶月

96

綜合練習:雙排月曆

97

綜合練習:雙排月曆

98

綜合練習:雙排月曆

 while (tmpMonth1 == dt1.Month || tmpMonth2 == dt2.Month);//單月和偶月都結束

99

綜合練習:雙排月曆

100

綜合練習:雙排月曆

101

綜合練習:雙排月曆

102

綜合練習:雙排月曆

103

綜合練習:雙排月曆

104

綜合練習:雙排月曆

105

綜合練習:雙排月曆

106

綜合練習:雙排月曆

107

綜合練習:雙排月曆

108

綜合練習:雙排月曆

109

綜合練習:雙排月曆

110

綜合練習:雙排月曆

111

綜合練習:雙排月曆

本文轉自shyleoking 51CTO部落格,原文連結:http://blog.51cto.com/shyleoking/806890

繼續閱讀