- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
.
C++程序设计说明书
题目:万年历
班级学号:
学生姓名:
目录
应用程序的名称
应用程序的主题、设计目的
应用程序简介
1.程序的基本结构及内容
2. 程序的运行环境
四.主要运行界面的介绍
五.程序亮点
六.课程设计中存在的问题及解决方法
一.课程设计名称
万年历
二.应用程序要求、目的
主题:万年历
目的:实现对年月的查询
三.应用程序简介
(1)基本结构:
整个程序有cls_screen(清屏)、judgement(判断是否为闰年)、show_week(记录周几)、print_year(查询某年)、print_year_month(查询某年某月)等自定义函数,程序中涉及到switch语句、for语句、if语句等和多次函数调用语句,开头定义了day_of_month[]数组,主要目的是将12个月每个月有多少天依次排出,在后面又用if语句判断二月的天数是28还是29。在主函数中运用while语言与switch语句的嵌套,是程序拥有了循环的功能。用fflush(stdin);语句清除输入缓存,使程序在使用过程中不会太过眼花缭乱。
万年历的编程,需要两个方面的讨论和研究,一是要在用户输入年份的时候,判断该年是否为闰年,而对于闰年的判断,能被4整除但不能被100整除,或者能被400整除的年份为闰年,否则为平年。所以会改变day_of_month[]数组中的二月份的数值。二是在用户输入年月份的时候,判断该年该月的第一天是周几,从来好排列。而对于判断周几,需要运用公式:w=(y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1)%7并用if语句使用判断。通过这两个方面的讨论和实现,才能合理的编程出万年历的基本程序代码。
(2)源程序代码:
#includestdio.h
#include string.h
#include time.h
#include math.h
#include windows.h
int year , month , day ;
int day_of_month[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
int current_year,current_month,current_day;
void cls_screen()
{
printf(请按任意键返回!\n);
getchar();
getchar();
system(cls);
}
int judgement (int y)
{
if (y % 400 == 0 || (y % 100 !=0 y %4 ==0))
return 1 ;
else return 0 ;
}
int show_week (int year , int month , int day)
{
/*公式:w=(y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1)%7*/
int w ,k;
int year_last=year %100,c=year/100 , m = month;
if (month==1 )
{
year_last-=1 ;
}
else if (month==2)
{
year_last-=1;
}
w = (year_last + year_last/4 + c/4 - 2*c +26*(m+1)/10+day-1);
if (w0)
{
k=(w%7+7)%7;
}
else k=w%7;
return k ;
}
void print_year (int year)
{
int i , k ,x ,first_week;
printf (请输入想要查询的年份(格式如2012):);
scanf (%d,year);
printf(=======================%d年===========================\n,year);
printf(\n);
if (judgement(year))
{
day_of_month[1]=29;
}
else day_of_month[1]=28;
for (i=1 ; i 13 ; i++)
{
first_week = show_week(year,i,1);
printf(=====================%d月日历如下========================\n,i);
printf (Sun\tMon\tTue\tWed\tThu\tFri\tSat\n);
for (x=1;x=first_week;x++)
{
printf(\t);
if (x%7==0) print
您可能关注的文档
最近下载
- 机动车检验检测机构授权签字人考核试题及答案.pdf VIP
- 附件8 乳腺癌检查异常可疑病例随访登记表.doc
- 《核心素养导向下的小学英语阅读教学的实践与探究》开题报告[001].docx VIP
- 西南13J103挤塑聚苯板保温构造图集.pdf
- 毕业生就业推荐表(模板).docx VIP
- 新概念二课文默写本 (1).pdf
- (ppt)P.E.T (Parent Effectiveness Training)父母效能训练学员手册.ppt
- GB50204-2015 《混凝土结构工程施工质量验收规范》GB50204-2015 (1).docx
- 生鲜连锁超市项目可行性研究报告申请报告.doc
- 内部市场化总结.doc VIP
文档评论(0)