C++从入门到精通 系列 第24章.ppt

C++从入门到精通 系列 第24章.ppt

ID:49202012

大小:364.00 KB

页数:57页

时间:2020-02-01

C++从入门到精通 系列 第24章.ppt_第1页
C++从入门到精通 系列 第24章.ppt_第2页
C++从入门到精通 系列 第24章.ppt_第3页
C++从入门到精通 系列 第24章.ppt_第4页
C++从入门到精通 系列 第24章.ppt_第5页
资源描述:

《C++从入门到精通 系列 第24章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第24章信息管理不用愁——信息管理系统实战日历系统学生成绩管理系统银行卡管理系统第24章信息管理不用愁——信息管理系统实战日历系统学生成绩管理系统银行卡管理系统第24章信息管理不用愁——信息管理系统实战日历系统学生成绩管理系统银行卡管理系统第24章信息管理不用愁——信息管理系统实战日历系统学生成绩管理系统银行卡管理系统24.1日历系统本系统实现了控制台下打印日历。只要输入指定年份,就能打印出该年的日历,包括星期。通过本例的学习,培养读者在VC++6.0环境中,学会调试程序的能力,巩固分支结构和循环

2、结构的知识,让读者形成C++模块化设计的思想。24.1日历系统24.1.1系统分析24.1.2功能分析及实现24.1.3开发常见问题及解决24.1.1系统分析1.需求分析随意给出某年(如2003年),可以显示该年的日历(包括每月的天数和对应的星期几),并且在每月的左上角或右上角打印出相应的年份和月份,要求输出界面尽可能整齐,美观。24.1.1系统分析2.系统分析根据问题描述,整个系统包含2个模块,为了体现模块化编程的思想,对每一个模块都分别编写函数来实现。系统流程图如下。输入年份显示日历开始结束输

3、入年份显示日历开始结束24.1.2功能分析及实现1.定义日历类01classcalendar02{03intweekday;04intyear;05public:06voidprintmonthdays();//打印每月的日历07voidprinttitle(intm);//打印日历头08intmonthdays(intm);//计算每月的天数09intfirstday(inty);//计算每年的第一天是周几10};24.1.2功能分析及实现2.计算每月的天数在一年中有的月份是30天,有的是31天

4、,2月份的天数根据是否是闰年不同,又有28天和29天的区别。24.1.2功能分析及实现01intcalendar::monthdays(intm)//判断每月的天数02{03switch(m)04{05case1:06case3:07case5:08case7:09case8:10case10:11case12:12return31;//1,3,5,7,8,10,12每月有31天13case4:14case6:15case9:16case11:17return30;//4,6,9,11每月有30天

5、18case2:19if(((year%4==0&&year%100!=0)

6、

7、year%400==0))//判断是否闰年。20return29;21else22return28;23default:return0;24}25}24.1.2功能分析及实现3.打印日历01voidcalendar::printmonthdays()02{03intdays;04for(intn=1;n<=12;n++)//12个月份05{06printtitle(n);//打印日历头07days=monthdays(

8、n);08for(inti=1;i<=days;i++)09{10printf("%5d",i);11weekday=(weekday+1)%7;12if(weekday==0)printf("");13}14printf("");15}16}24.1.2功能分析及实现4.打印每月的日历头01voidcalendar::printtitle(intm)//02{03inti;04printf("%d月日一二三四五六",m);05printf("");06for(i=0;i

9、day;i++)07printf("");08}24.1.2功能分析及实现5.判断每年的第一天是星期几intfirstday(intyear)//判断元旦是星期几{doubles;s=floor(year-1+(year-1)/4.0-(year-1)/100.0+(year-1)/400.0+1);return(int)s%7;}24.1.2功能分析及实现6.提示打印模块01voidmain(intargc,char*argv[])02{0304intyear;05intweekday;06ca

10、lendarcal;07printf("请输入你要查看的年份:");08scanf("%d",&year);09weekday=cal.firstday(year);10printf("");11printf("%d年",year);12cal.printmonthdays();//打印日历13printf("");14}24.1.3开发常见问题及解决⑴从公元01年的第一天开始考虑(01年1月1日对应星期一),以计算从01年至该年开始的总天数;⑵注意每月的天数不

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。