[桌面日历设计.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[桌面日历设计

桌面日历设计 设计思路 输入的年份 判断从定义年到输入的年份中 每个年份是否为闰年 是 否 每年为366天 每年为365天 返回该年的天数 图一 输入的年月 判断输入年是否为定义年 是 否 总天数S=1 总天数S为定义年到输入年的总天数 把S加上该年一月到输入月份的天数,再加1 判断输入的月份是否 为闰年中的月份 是 否 该月是否大于二月 是 否 把S加上该 年一月 到输入月份的天数 把S再加上该 把S加上该年年一月到输入 一月到输入月 的月份的天数 份的天数 再加1 总天数为S 判断S的最后一天为星期几 从这一天起依次输出输入月份的天数直到该月底为止 图二 #include <stdio.h> /*根据年份测试是否是闰年。 参数:年份 返回值:0—不是闰年,1—是闰年*/ int isLeap(int); /*计算给定年份的元旦是星期几 参数:年份 返回值:星期几 注:该函数可以改进成为——计算给定的年月的第一天是星期几*/ int FirstDay(int, int); /*计算给定某年某月的天数 参数:年份,月份 返回值:天数(28~31)*/ int LenOfMonth(int, int); main() { short i, flagInput=0; //i--循环变量,flagInput--输入标志 int year, month; //输入数据。year--年份,month--月份 //中间变量。day--日子,weekday--每月第一天是星期几,daysOfMonth--每月的天数 int day, weekday, daysOfMonth; /*————改进代码——开始*/ do{ /*检验用户的输入是否合法*/ if(flagInput==1) printf("\n——————————\nError! 您输入的年份和月份有误,请重新输入!!\n\n"); /*————改进代码——结束*/ //接收年份 printf("请输入年份(>=1900):"); scanf("%d", &year); /*————改进代码——开始*/ //接收月份 printf("请输入月份(1~12):"); scanf("%d", &month); flagInput=1; //用户输入后,标志 = 1 } /*如果输入的年份和月份非法,则重新循环接收*/ while(!(year >= 1900 && month > 0 && month<=12)); /*————改进代码——结束*/ weekday=FirstDay(year, month); //计算每月第一天是星期几 // for(month=1;month<=12;month++) //如果启用改进代码,则将本行注释起来 { /*显示日历的标题*/ printf("\n\n年份:%6d\t", year); printf("月份:%6d\n\n", month); //改进代码 /*显示日历的抬头*/ printf("---------------------------------------\n"); printf("SUN MON TUE WED THU FRI SAT\n"); printf("---------------------------------------\n"); for(i=0;i<weekday;i++) //根据每月第一天是星期几,来决定输出每月前面的空格 printf("%-6c",' '); daysOfM

文档评论(0)

1974wangpeng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档