文档详情

万年历C语言课程设计报告书.doc

发布:2016-03-31约5.3千字共9页下载文档
文本预览下载声明
C语言课程设计报告书 设计人 :查波 学号 :201201466 院系 :电信学院 班级 :电气11203 指导老师 :杜红 一.设计要求 1.能够显示星期。 2.能够显示年月日。 二.设计目的 1.???通过本项课程设计,可以培养独立思考、?综合运用所学有关相应知识的能力,能更好的巩固《C语言程序设计》课程学习的内容,掌握?工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了c语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以后在工作中团队合作的重要性和必要性!? ?? 2.???通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的 程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。 三.设计思想 1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为355。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。 2 .输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7,则为星期日。 3. 算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。 要用到的函数和语句 1.stdio.h /*头文件*/ 2.main() /*主函数*/ 3.printf(), 4.scanf() 5.if 语句 6.for 语句 7. IsLeapYear(int) /*定义函数*/ 流程图 输入的年份 判断从定义年到输入的年份中 每个年份是否为闰年 是 否 每年为366天 每年为365天 返回该年的天数 输入的年月 判断输入年是否为定义年 是 否 总天数=year_days 总天数为定义年前到输入年的总天数 求出定义年第一天星期几 判断输入的月份是否 为闰年中的月份 是 否 该月是否是二月 是 否 求该月的万年历依次执行 加1 求该月的万年 执行下步 历 总天数 判断总天数的最后一天为星期几 从这一天起依次输出输入月份的天数直到该月底为止 程序运行结果 六.源代码 #include stdio.h int IsLeapYear(int); main() { int i; int day; int year; int temp; int temp_i; long int Year_days = 0; //输入的年份之前的所有年的天数之和 int Year_Start = 1; //当前年份 int Per_Year_Days; int month_day[]={31,28,31,30,31,30,31,31,30,31,30,31,29}; //第n月的天数 printf(请输入年份: ); scanf(%d,year); while(Year_Start year) //求输入的年份之前的所有年的天数之和 { if( IsLeapYear( Year_Start ) ) //当前年份是闰年 Per_Year_Days = 366;
显示全部
相似文档