1、 高级语言课程设计报告高级语言课程设计报告 设 计 题 目 高级语言课程设计电子万年历 一、课程设计目的和任务一、课程设计目的和任务 1.通过本项课程设计,可以培养独立思考、 综合运用所学有关相应知识的能力,能更 好的巩固高级程序语言编程的过程,掌握软件设计的基本方法,强化上机动手编程能力, 闯过理论与实践相结合的难关,更加了解 c 语言的好处和其可用性,同时增加了同学之间 的团队合作精神,更加也体会到以后在工作中团队合作的重要性和必要性。 2.通过高级语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计 过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语
2、言程 序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。 3为了使同学们掌握结构化数据流分析技术,用 C 语言设计一个年历系统,满足以下 功能要求 : (1) 输入任一年将显示出该年的所有月份日期,对应的星期 (2) 注意闰年情况 其显示格式要求如下: (1)月份:中文英文都可以, (2)下一行显示星期,从周日到周六,中英文都可以 (3)下一行开始显示日期从 1 号开始,并按其是周几实际情况与上面的星期数垂直对 齐 当输入 2004 显示如下: Input the year:2004 The calendar of the year 2004. Januray 1 February
3、 2 Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat 1 2 3 1 2 3 4 5 6 7 4 5 6 7 8 9 10 8 9 10 11 12 13 14 11 12 13 14 15 16 17 15 16 17 18 19 20 21 18 19 20 21 22 23 24 22 23 24 25 26 27 28 25 26 27 28 29 30 31 29 = = March 3 April 4 Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat 1 2
4、 3 4 5 6 1 2 3 7 8 9 10 11 12 13 4 5 6 7 8 9 10 14 15 16 17 18 19 20 11 12 13 14 15 16 17 21 22 23 24 25 26 27 18 19 20 21 22 23 24 28 29 30 31 25 26 27 28 29 30 = = 二、分析与设计二、分析与设计 1.程序的基本功能: 输入一个整数 year,显示出该年的所有月份日期,对应的星期。 2.系统总框图: 3.定义的函数及说明: (1) f(int year,int month) 如果月份值小于 3,则返回值为 year-1;否则返回值为
5、 year (2) g(int month)如果月份值小于 3,则返回值为 month+13;否则返回值为 month+1 例如:2004 年 1 月 1 日 经过这两个函数的变形成 2003 年 14 月 1 日,便于计算 (3)n(int year,int month,int day)计算某一个日期的 n值,便于计算某一日期是周几 (4)w(int year,int month,int day) 以 1700 年 3 月 2 日的 n值为模版,计算出要求日期是周几 (5)main() 主函数 4.算法设计: (1)总体而言,根据要求来做一个万年历的 C 程序,要求输入想要知道日历的年份,然 后可按 ENTER 键显示日历。 (2)判断是不是闰年:(year%4=0 else return year; long int g(int month) if(month3) return month+13; else return month+1; long int n(int year,int month,int day) return 1461L*f(year,month)/4+153L*g(month)/5+day; int w(int year,int mon