Skip to content

Commit 3b7c886

Browse files
committed
nbfghsd
1 parent 01362ae commit 3b7c886

File tree

2 files changed

+94
-0
lines changed

2 files changed

+94
-0
lines changed

0x03-debugging/3-convert_day.c

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#include "main.h"
2+
3+
/**
4+
* convert_day - converts day of month to day of year, without accounting
5+
* for leap year
6+
* @month: month in number format
7+
* @day: day of month
8+
*
9+
* Return: days of the year
10+
*/
11+
12+
int convert_day(int month, int day)
13+
{
14+
switch (month)
15+
{
16+
case 2:
17+
day = 31 + day;
18+
break;
19+
case 3:
20+
day = 59 + day;
21+
break;
22+
case 4:
23+
day = 90 + day;
24+
break;
25+
case 5:
26+
day = 120 + day;
27+
break;
28+
case 6:
29+
day = 151 + day;
30+
break;
31+
case 7:
32+
day = 181 + day;
33+
break;
34+
case 8:
35+
day = 212 + day;
36+
break;
37+
case 9:
38+
day = 243 + day;
39+
break;
40+
case 10:
41+
day = 273 + day;
42+
break;
43+
case 11:
44+
day = 304 + day;
45+
break;
46+
case 12:
47+
day = 334 + day;
48+
break;
49+
default:
50+
break;
51+
}
52+
return (day);
53+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#include "main.h"
2+
3+
/**
4+
* print_remaining_days - takes a date and prints how many days are
5+
* left in the year, taking leap years into account
6+
*
7+
* @month: month in number format
8+
* @day: day of month
9+
* @year: year
10+
*/
11+
12+
void print_remaining_days(int month, int day, int year)
13+
{
14+
/**
15+
* leap year when it can be divided
16+
* by 100 and 400 or by 4 evenly
17+
*/
18+
if ((year % 100 == 0 && year % 400 == 0) || (year % 4 == 0))
19+
{
20+
if (month > 2 && day >= 60)
21+
{
22+
day++;
23+
}
24+
25+
printf("Day of the year: %d\n", day);
26+
printf("Remaining days: %d\n", 366 - day);
27+
28+
}
29+
else
30+
{
31+
if (month == 2 && day == 60)
32+
{
33+
printf("Invalid date: %02d/%02d/%04d\n", month, day - 31, year);
34+
}
35+
else
36+
{
37+
printf("Day of the year: %d\n", day);
38+
printf("Remaining days: %d\n", 365 - day);
39+
}
40+
}
41+
}

0 commit comments

Comments
 (0)