- 11
- 0
- 约6.41千字
- 约 13页
- 2016-09-10 发布于天津
- 举报
万年历系统报告.doc
程序设计(C语言)课程设计报告
年级专业
学 号
学生姓名
指导教师
二○一五年三月
一、题目
万年历系统
二、目的
通过此次综合编程实践,进一步熟悉和掌握C语言的基本知识、基本编程原理;学习用C语言开发应用程序的方法;进一步熟悉计算机程序设计的基本方法、步骤,培养设计、调试、测试程序能力。
三、程序功能介绍
模仿现实生活中的挂历,当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几)。当系统日期变到下一月时,系统自动翻页到下一月。还可以对输入的日期进行验证是否正确并查询。
四、内容
功能界面介绍
①在主函数实现功能界面的设计,显示系统当前月月历,提供功能的选择并调用相应函数来实现模块功能。
②显示系统当前日期的模块,实现在界面中显示系统当前的日期的功能。
③在月历中显示当前日的模块,实现当前日在月历中被不同颜色标注出来的功能。
④打印出y年m月第一天的日历的模块,实现确定月历中每个月开头第一天的开始位置并显示月历基本框架的功能。
⑤计算星期几的模块,实现计算出系统当前日期是星期几的功能。
⑥计算某月天数的模块,实现计算当前月有多少天的功能。
⑦判断是否为闰年的模块,实现判断当前日期所在年份是否为闰年功能。
⑧输入查询日期的模块,实现需要另外查询日期的输入并判断所属日期是否正确的功能。
算法流程图
程序实现(附程序代码和相应注释说明)
#includestdio.h
#include time.h
#includestdlib.h
#includestring.h
#includeconio.h
#includectype.h
#includewindows.h
int days(int y,int m); //计算y年m月有多少天
void show(int year,int month,int day); //显示主界面
void showCurrentTime(); //显示系统当前时间
int week(int y,int m,int d); //计算y年m月d日是星期几
void printfirstday(int y,int m);//打印出y年m月第一天的日历
int isleaf(int y); //y年是否是闰年
int checkYearAndMonth(int year, int month); //查找1——3000年中的一年的日历
int checkinput();
int checkDay(int year, int month, int day);
int inputyear(void);
void main()
{
char ch;
showCurrentTime();
printf(\n\n\t*****************************\n);
printf(\t1.查看任意日期日历\n\t0.退出\n);
printf(\t*****************************\n);
printf(请选择:);
while(1)
{
scanf(%c,ch);
switch(ch)
{
case 1:
inputyear();
break;
case 0:
exit(1);
default:
printf(选择错误,请从新选择!\n);
break;
}
printf(\n\n\t*****************************\n);
printf(\t1.查看任意日期日历\n\t0.退出\n);
printf(\t*****************************\n);
printf(请选择:);
fflush(stdin);// 清空输入缓冲区
}
}
void showCurrentTime()/*显示系统当前时间*/
{
time_t nowtime;
struct tm *timeinfo;
int year, month, day;
system(cls);
printf(\n\t\t*****欢迎使用日历*****\n);
printf(\n******************************\n
原创力文档

文档评论(0)