这其实不算一个很高的技术,是我在帮同学写毕业设计时的一点小创造。
大家都知道,每个人的学期选择项是根据入学年份以及当前日期确定的,不是一个所有人都一样的,这就需要动态加载学期列表。
原理概述:
大学默认为4年制,即最多有8个学期,数组长度应该为8
入学当年应该有当年学期的下半学期此项列为数组[0]
得到循环次数--当前年份-入学年份得到的数字×2得到这两年的学期数量(因为入学年默认有下个学期所以入学年学期在此项中没有位置所以-2;其次因为当前年存在,默认有当年的上半学期,所以加1,最终算法为(当前年份-入学年份)×2-1)
得到需要动态加载的循环次数以后,进行循环赋值(再此需要判断上一个赋值项后缀是“上半学期”还是“下班学期”)
最后跳出循环,判断当前年的月份(开学月一般为9月),大于9,则多添加一项当前年的下班学期
代码如下:
1 /// <summary> 2 /// 根据入学年份自动生成学期列表 3 /// </summary> 4 /// <param name="time">入学年份,形如××××年</param> 5 /// <returns>学期数组</returns> 6 public string[] XQ(string time) 7 { 8 string[] xq=new string[7]; 9 DateTime DQtime = DateTime.Now; 10 int year = DQtime.Year; 11 int Month = DQtime.Month; 12 int i,j; 13 xq[0] = time.Remove(4) + "下半学期"; 14 15 for (i=1,j=0; i <= ((year - (int.Parse(time.Remove(4)))) * 2)-1; i++) 16 { 17 if (xq[i-1].Remove(0, 4) == "下半学期") 18 { 19 j++; 20 xq[i] = (int.Parse(time.Remove(4)) + j).ToString() + "上半学期"; 21 } 22 else 23 { 24 xq[i] = (int.Parse(time.Remove(4)) + j).ToString() + "下半学期"; 25 } 26 } 27 28 if (Month >= 9) 29 { 30 xq[i] = year.ToString() + "下半学期"; 31 } 32 return xq; 33 34 }
————————留存笔记,多多指点!
时间: 2024-11-05 20:39:10