C++自定义函数判断某年某月某日是这一年中第几天

2025-05-27 0 44

本文实例讲述了C++自定义函数判断某年某月某日是这一年中第几天的方法。分享给大家供大家参考,具体如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133
/*

* 作 者: 刘同宾

* 完成日期:2012 年 11 月 30 日

* 版 本 号:v1.0

*

* 输入描述:

* 问题描述:编写函数判断某年某月某日这一年中是第几天,在主函数中调用该函数。

* 程序输出:

* 问题分析:略

* 算法设计:略

*/

#include<iostream>

using namespace std;

int main()

{

void f(int year,int month,int day);

int year,month,day;

cout<<"请输入年月日:"<<endl;

f(year,month,day);

cout<<endl;

return 0;

}

//判断输入的年月日是这一年中的第几天!

void f(int year,int month,int day)

{

int f1(int year,int month,int day);

int leap(int year);

int t=0,s=0,i;

int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; //定义数组 各月的天数

int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};

while(1)

{

cin>>year>>month>>day;

if(f1(year,month,day))

{

if(leap(year))

{

for(i=0;i<=month-2;i++)

{

t=t+b[i];

}

s=t+day;

}

else

{

for(i=0;i<=month-2;i++)

{

t=t+a[i];

}

s=t+day;

}

cout<<"这是这一年的第"<<s<<"天!"<<endl;

break;

}

else

cout<<"输入错误,请重新输入:"<<endl;

}

}

//判断是否为闰年!

int leap(int year)

{

if((year%4==0&&year%400==0)||(year&4==0&&year%100!=0))

{

return true;

}

else

return false;

}

//判断输入是否合法!

int f1(int year,int month,int day)

{

int days(int year,int month,int day);

if(year>0)

{

if(month>=1&&month<=12)

{

if(days(year,month,day))

{

return true;

}

else

return false;

}

else

return false;

}

else

return false;

}

//判断输入的天 是否合法!

int days(int year,int month,int day)

{

int leap(int year);

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)

{

if(day>0&&day<=31)

{

return true;

}

else

return false;

}

else if(month==2||month==4||month==6||month==9||month==11)

{

if(day>0&&day<=30)

{

return true;

}

else

return false;

}

else

{

if(leap(year))

{

if(day>0&&day<=29)

{

return true;

}

else

return false;

}

else

{

if(day>0&&day<=28)

{

return true;

}

else

return false;

}

}

}

运行效果如下图所示:

C++自定义函数判断某年某月某日是这一年中第几天

希望本文所述对大家C++程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 C++自定义函数判断某年某月某日是这一年中第几天 https://www.kuaiidc.com/75010.html

相关文章

发表评论
暂无评论