c++计算年月
来源:百度知道 编辑:UC知道 时间:2024/06/26 02:57:16
实训内容:
一、生命类Date
要求:
1、使用户可以设置日期,并在输入错误时提示。
a一年12个月,若输入12以外的数,提示“输入月份错误”
b每个月依次有{31,28/29,31,30,31,30,31,31,30,31,30,31}若输入的数值超过该月天数,提示“输入天数错误”。
2、可以查询两个日期之间相差天数
注意:闰年
二、数组排序
1、定义交换两个整型数的函数swap
2、定义sort函数给数组排序,调用swap函数
3、修改swap函数和sort函数,使之可用于任意类型
要用c++Date类
提示“输入天数错误”。
2、可以查询两个日期之间相差天数
一、生命类Date
要求:
1、使用户可以设置日期,并在输入错误时提示。
a一年12个月,若输入12以外的数,提示“输入月份错误”
b每个月依次有{31,28/29,31,30,31,30,31,31,30,31,30,31}若输入的数值超过该月天数,提示“输入天数错误”。
2、可以查询两个日期之间相差天数
注意:闰年
二、数组排序
1、定义交换两个整型数的函数swap
2、定义sort函数给数组排序,调用swap函数
3、修改swap函数和sort函数,使之可用于任意类型
要用c++Date类
提示“输入天数错误”。
2、可以查询两个日期之间相差天数
# include <stdio.h>
# include <conio.h>
int sum_day(int month, int day);
int leap(int year);
void main()
{
int year, month, day;
int days;
printf("请输入日期(年,月,日):");
scanf("%d, %d, %d", &year, &month, &day);
printf("%d年%d月%d日", year, month, day);
days = sum_day(month, day);
if(leap(year) && month>=3)
days = days + 1;
printf("是该年的第%d天.\n", days);
getch();
}
static int day_tab[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int sum_day(int month, int day)
{
int i;
for(i=1; i<month; i++)
day = day + day_tab[i];
return day;
}
int leap(int year)
{
int leap;
leap = (year%4==0&&year%100!=0)