admin管理员组文章数量:1612060
给定如下定义:
struct date_rec
{
int day ;
int month ;
int year ;
} ;
struct date_rec current_date ;
写一个程序包含如下的函数,完成:
(a) 输入current_date的值:
void input_date(struct date_rec *current_date)
(b) 将current_date增加1天:
void increment_date(struct date_rec *current_date)
© 显示current_date的值:
void output_date(struct date_rec *current_date)
考虑每个月的实际天数,同时也考虑闰年的情况。
**输入格式要求:"%d%d%d" 提示信息:“请输入当前日期(年 月 日):”
**输出格式要求:“当前日期:%d年%d月%d日!” (加1天后的新日期)
代码实现:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int month[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
struct date_rec
{
int year;
int month;
int day;
};
void input_date(struct date_rec* current_date)
{
printf("请输入当前日期(年 月 日):");
scanf("%d%d%d", ¤t_date->year, ¤t_date->month, ¤t_date->day);
}
void increment_date(struct date_rec* current_date)
{
if (Isleap(current_date->year)) //判断是否闰年
month[1] = 29;
else
month[1] = 28;
current_date->day++;
if (current_date->day > month[current_date->month - 1]) //天数加一后超出了该月的总天数
{
current_date->day = 1; //进位后日期为下月第一天
current_date->month++; //定位到下个月
}
if (current_date->month > 12) //如果月数超出一年12个月
{
current_date->month = 1; //进位到下一年的一月
current_date->year++;
}
}
void output_date(struct date_rec* current_date)
{
printf("当前日期:%d年%d月%d日!", current_date->year, current_date->month, current_date->day);
}
int Isleap(int year)
{
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
return 1;
else
return 0;
}
int main()
{
struct date_rec current_date;
input_date(¤t_date);
increment_date(¤t_date);
output_date(¤t_date);
}
本文标签: 函数程序currentdatevoidcurrentd
版权声明:本文标题:写一个程序包含如下的函数,完成: (a) 输入current_date的值: void input_date(struct date_rec *current_date) (b) 将current_d 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1728627673a1166705.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论