C语言课程设计-打印月历

更新时间:2023-10-19 16:37:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《打印月历》 课程设计报告

题 目 学 号 姓 名 年级专业 指导教师 完成日期

安徽师范大学物理与电子信息学院

College of Physics and Electronic Information, Anhui Normal University

打印月历

1 实验目的

目 录

2 实验内容

3 源程序

4 测试数据

5 分析评价

6 实验心得

安徽师范大学物理与电子信息学院

College of Physics and Electronic Information, Anhui Normal University

一、 实验目的

1) 在教师指导下,学生根据选定的课题,综合运用所学程序设计的知识,完成问题分析、模块设计、代码编写、程序调试和运行等训练任务。

2) 通过课程设计,初步锻炼运用所学基础知识解决实际问题的能力,掌握软件开发的基本过程和基本方法以及良好的编程风格,培养在软件开发中相互合作的团队意识。 二、 实验内容 打印月历

1) 年份和月份由键盘输入,打印的月历按星期一到星期日排列; 2) 注意大小月、闰年等问题。 三、 源程序 #include #include #include #include

安徽师范大学物理与电子信息学院

College of Physics and Electronic Information, Anhui Normal University

int days[6][7];

int mdays[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int mdays2[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

#define is_leap_year(y) ((!((y) % 4) && ((y) % 100)) || (!((y) % 400)))

#define max_mdays(m, y) (is_leap_year(y) ? mdays2[m] : mdays[m])

int diff_days(int y1, int m1, int d1, int y2, int m2, int d2) {

int d = 0;

int md = max_mdays(m1, y1);

while ((y1 != y2) || (m1 != m2) || (d1 != d2)) { d++; d1++; if (d1 > md) { d1 = 1;

安徽师范大学物理与电子信息学院

College of Physics and Electronic Information, Anhui Normal University

m1++; if (m1 >= 12) {

m1 = 0;

y1++; }

md = max_mdays(m1, y1); } }

return d; }

int get_wday(int y, int m, int d) {

struct tm tm; time_t t; int cy, cm, cd, cw;

安徽师范大学物理与电子信息学院

College of Physics and Electronic Information, Anhui Normal University

本文来源:https://www.bwwdw.com/article/j4wf.html

Top