C语言课程设计打印月历Word文件下载.docx
- 文档编号:17235238
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:9
- 大小:291.56KB
C语言课程设计打印月历Word文件下载.docx
《C语言课程设计打印月历Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计打印月历Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
一:
.目的要求
综合运用所学程序设计的知识,完成问题分析、模块设计、代码编写、程序调试和运行等训练任务。
通过课程设计,初步锻炼运用所学基础知识解决实际问题的能力,掌握软件开发的基本过程和基本方法以及良好的编程风格,培养在软件开发中相互合作的团队意识。
二:
问题描述
打印月历,用C语言将月历打印于屏幕上。
如下所示:
Welcometousethisprogram
***********************************************
20106
MONTUEWEDTHUFRISATSUN
123456
78910111213
14151617181920
21222324252627
282930
Wouldyouliketocontinue(y/n)?
三:
基本要求
1)年份和月份由键盘输入,打印的月历按星期一到星期日排列;
2)注意大小月、闰年等问题。
四:
源程序
#include<
stdio.h>
main()
{
voidprint_head(intx,inty);
//函数声明//
voidprint_month(intx,inty);
intleap(intx,inty);
inti,days,year,month,firstday;
charchoose;
do
{printf("
\n\npleaseinputtheyear(00000~32767):
\n\n"
);
scanf("
%d"
&
year);
if(year<
0||year>
32767)
printf("
WANNING:
ERROR,pleaseinputagain!
"
}
while(year<
32767);
//不可查询00000~32767之外的年份//
pleaseinputthemonth(0~12)\n\n\n"
month);
if(month<
=0||month>
12)
}
//不可以查询超过12的月份//
while(month<
12);
days=days_of_month(year,month);
//调用days_of_month(year,month)函数//
firstday=leap(year,month);
//调用leap(year,month)函数//
print_head(year,month);
//调用print_head(year,month)函数//
print_month(firstday,days);
//调用print_month(firstday,days)函数//
choose=getchar();
\n\n\n"
printf("
wouldyouliketocontinue(y/n):
//是否继续查询?
//
scanf("
%c"
choose);
if(choose=='
y'
||choose=='
Y'
)main();
days_of_month(intx,inty)
intz;
switch(y)
{case1:
case3:
case5:
case7:
case8:
case10:
case12:
z=31;
break;
//每年1、3、5、7、8、10、12月31天//
case4:
case6:
//每年4、6、9、11月30天//
case9:
case11:
z=30;
case2:
{if((x%4==0&
&
x%100!
=0)||(x%400==0))z=29;
//闰年2月29天//
elsez=28;
//平年2月28天//
}
returnz;
leap(intx,inty)
intz,i,moday;
z=(x+(x-1)/4-(x-1)/100+(x-1)/400)%7;
//判断某月一号星期几//
for(i=1;
i<
y;
i++)
{moday=days_of_month(x,i);
z=(z+moday)%7;
voidprint_head(intx,inty)//打印图形界面//
printf("
\t\t\t\tWelcometousethisprogram\n"
\n\n********************************************************************************\n\n"
\t\t\t\t%d%d\n\n"
x,y);
\t\t\tMONTUEWEDTHUFRISATSUN\n"
\t\t\t"
voidprint_month(intx,inty)//生成月历//
{
inti;
charspace[7]={'
'
};
=x-1;
%4c"
space[i]);
=y;
{if((i+x-1)%7==1)printf("
\n\t\t\t%4d"
i);
elseprintf("
%4d"
五:
程序流程图
六:
程序与结果图样
1.程序调试图样
2.结果图样
七:
小结
在这次C语言程序设计中,我学到了很多的东西,首先对于C语言中的循环的使用跟家娴熟,其中利用for循环可以使程序更加的简洁,对函数的调用的理解更加深刻。
当然,在程序调试中也有很多问题,但通过查询资料与询问同学,都很好的解决了,更加深刻的理解了课本所学知识。
参考书目:
1、谭浩强C语言程序设计
2、C高级使用程序设计
程序设计报告到此结束
指导教师评语
主要内容包括:
设计报告内容的完整性和完成情况、报告格式的规范性、通过课程设计取得的收获等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 打印 月历
![提示](https://static.bdocx.com/images/bang_tan.gif)