C语言程序设计万年历样本.docx
- 文档编号:10013655
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:13
- 大小:244.49KB
C语言程序设计万年历样本.docx
《C语言程序设计万年历样本.docx》由会员分享,可在线阅读,更多相关《C语言程序设计万年历样本.docx(13页珍藏版)》请在冰豆网上搜索。
C语言程序设计万年历样本
存档资料成绩:
华东交通大学理工学院
课程设计报告书
所属课程名称车C语言程序设计课程设计
题目 万年历查询
分院 电信分院
专业班级级电气工程及其自动化1班
学 号
学生姓名周利凯
指引教师 肖盛文
6月15日
摘要
通过C语言编程实现了一种万年历,能实现基本万年历功能。
通过本章解说,使读者可以明白万年历实现原理和办法。
万年历实现核心是要判断闰年和依照给定日期计算其相应星期,并按照适当方式输出日历.这都是本章向读者讲述重点。
此外,在当今社会万年历在生活起着越来越重要角色,它悄无声息走进咱们生活,还向读者讲述了如何突出显示某个日期办法,这会在实际应用中经常遇到。
除了讲述万年历实现办法外,本章还回顾了前面章节知识,如光标定位﹑设立寄存器﹑产生中断﹑输出一种字符等,以及讲述系统日期﹑屏幕输出办法等。
核心字:
C语言,函数,历法计算,万年历,中断。
1.设计万年历目---------------------------P4
2.万年历程序设计思路图解及其解说-----------P5
3.万年历程序清单与编码----------------------P7
4.万年历调试与分析------------------------P12
5.万年历使用环境与阐明--------------------P14
6.设计心得-----------------------------------P15
7.万年历参照文献------------------------------P16
8.道谢-----------------------------------------P17
1.设计万年历目
万年历慢慢走进咱们生活,在咱们生活中起着很重要某些。
虽然万年历几乎在每个电子产品中都能看到,咱们时时刻刻都在用着它,但是又有多少人懂得万年历真正工作原理呢?
因此一是理解万年历真正原理,二是完毕学校予以咱们这里机会来与她密切接触万年历这个神奇东西。
同步通过显示年日历程序设计,可以培养和运用C++语言进行程序设计能力,加强函数运用及对软件工程办法初步结识,提高软件系统分析能力和程序文档建立、归纳总结能力,培养运用系统提供原则函数及典型算法进行设计。
出于兴趣兴趣,咱们选取做万年历这个任务,一是可以锻炼咱们独立完毕任务本领,提高自己认知能力。
二是可以提高自己逻辑思维严密性,由于C语言本就是一门对逻辑考察很强一门学科,多一种逗号都不能使函数成立,平台就无法便以这个程序。
2..万年历程序设计思路图解
1.万年历总程序大体图解
在本次程序中,咱们由浅及深,咱们将年份赋值给y,判断y值与否符合规定,y值要不不大于1,否则结束程序。
等y值不不大于1时,咱们将打印出输入年份日历。
2.万年历分步程序图解
此为程序分环节,由于有这些分环节模切配合,总程序才干得以顺利进行。
在这里咱们运用了判断年份与否为闰年重要公式:
(a%400==0||a%100!
=0&&a%4==0),与闰年平年和闰年一年第一天元旦计算!
3.万年历程序清单
1.源程序:
#include
intfdyear(inta)
{
if(a%400==0||a%100!
=0&&a%4==0)//判断是不是闰年
return(a-1+a/4-a/100+a/400)%7;//闰年元旦计算
else
return(a+a/4-a/100+a/400)%7;//平年元旦计算
}
intmain()
{
intn,i,y,fdmonth[12];
printf("****************欢迎使用周利凯设计万年历****************\n");
printf("本程序来至电气1班周利凯,请高兴使用!
\n");
printf("请输入年份:
");
scanf("%d",&y);
if(y<1)
printf("输入是错误年份。
\n");
else
{
n=(y%400==0||y%100!
=0&&y%4==0);
char*month[12]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
charweek[]="日一二三四五六";
intdaysmonth[12]={31,28+n,31,30,31,30,31,31,30,31,30,31};//输入年份每月总天数
printf("%d年日历\n\n",y);
for(i=0;i<12;i++)//计算个月每月第一天
{
staticintday=0;
fdmonth[i]=(day+fdyear(y))%7;
day=day+daysmonth[i];
}
for(i=0;i<12;i+=3)//每三个月并排打印
{
printf("%s%s%s\n",month[i],month[i+1],month[i+2]);
chars[]="";
printf("%-3s%s%-3s%s%-3s%s",s,week,s,week,s,week);
for(intj=0;j<6;j++)//每月最多占行
{
for(intd=i;d
{
printf("");
for(intn=0;n<7;n++)//每一行有日
{
intk=1-fdmonth[d]+n+7*j;
if(k<1||k>daysmonth[d])
printf("");
else
printf("%-3d",k);//计算日期输入
}
}
printf("\n");
}
printf("\n");
}
}
}
2.编码
1判断闰年与平年
{
if(a%400==0||a%100!
=0&&a%4==0)//判断是不是闰年
return(a-1+a/4-a/100+a/400)%7;//闰年元旦计算
else
return(a+a/4-a/100+a/400)%7;//平年元旦计算
}
2打印表头制作
intmain()
{
intn,i,y,fdmonth[12];
printf("****************欢迎使用周利凯设计万年历****************\n");
printf("本程序来至电气1班周利凯,请高兴使用!
\n");
printf("请输入年份:
");
3判断年分与否符合规定并算每月第一天是周几?
scanf("%d",&y);
if(y<1)
printf("输入是错误年份。
\n");
else
{
n=(y%400==0||y%100!
=0&&y%4==0);
char*month[12]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
charweek[]="日一二三四五六";
intdaysmonth[12]={31,28+n,31,30,31,30,31,31,30,31,30,31};//输入年份每月总天数
printf("%d年日历\n\n",y);
for(i=0;i<12;i++)//计算个月每月第一天
{
staticintday=0;
fdmonth[i]=(day+fdyear(y))%7;
day=day+daysmonth[i];
}
4.设计三月成为一排与打印万年历
for(i=0;i<12;i+=3)//每三个月并排打印
{
printf("%s%s%s\n",month[i],month[i+1],month[i+2]);
chars[]="";
printf("%-3s%s%-3s%s%-3s%s",s,week,s,week,s,week);
for(intj=0;j<6;j++)//每月最多占行
{
for(intd=i;d
{
printf("");
for(intn=0;n<7;n++)//每一行有日
{
intk=1-fdmonth[d]+n+7*j;
if(k<1||k>daysmonth[d])
printf("");
else
printf("%-3d",k);//计算日期输入
}
}
printf("\n");
}
printf("\n");
}
}
}
4.万年历调试与分析
1.程序在刚开始运营时
2咱们任意输入一种年份如””和””
3.输入不对的格式如“0”
4.输入“aaa”
5.年历使用环境与阐明
鄙人设计万年历适合在在Visual6.00环境下使用C++语言编译后运营实现。
在刚使用时可以看到居中两行大字“欢迎使用周利凯设计万年历”与“本程序来自电气1班周利凯,欢迎使用!
”。
当输入不大于1年份时,程序会自动退出,当输入不符合年份核心词时也会浮现自动退出,如当输入“AA”时也会退出程序,自由当输入对的年份时,就会打印出相应年份日期与周数。
6.设计心得
通过本次课程设计我第一次通过自己实践对课本上知识进行了与生活有关运用。
在这个程序中,重要应用了这学期所学习循环,条件语句,数组与调用函数。
这些知识应用使我对课本内容结识得到了加深。
在编写程序过程中,也浮现了诸多错误。
例如程序语句错误导致检测时持续报错;函数语句编写错误导致输出成果与实际不相符合等。
浮现这些状况后,通过对某些新知识学习和对网上有关资料阅读,我发现了自己程序问题所在并进行了改正。
最后到对的成果。
在程序编写完毕后,我想对程序进行进一步拓展。
在输出年历同步增长农历生肖功能,但是由于程序过于复杂,最后没有规定期间内完毕调试成功。
7.万年历设计参照文献
【1】.杨文君,杨柳C语言程序设计教程【M】清华大学出版社
【2】.谭浩强,C语言程序设计【M】。
清华大学出版社.6
【3】.《C语言程序设计》精品课程
【4】.C程序设计教程.北京:
清华大学出版社..07
【5】.路俊维马雪松主编.C语言程序设计.中华人民共和国铁道工业出版社..06
【6】.李丽娟C语言程序设计教程(第4版)人民邮电出版社9
【7】.XX文库
8.道谢
感谢肖盛文教师对我在完毕C语言课程设计中指引。
在这次课程实验报告中,遇到过诸多问题,而教师给了我指明灯作用,她循循善诱辅导和不拘一格思路予以我无尽启迪,让我不久就感受到了设计高兴并融入其中。
另一方面我要感谢同窗对我协助和指点,以及对我勉励和支持。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 万年历 样本