Skip to content

Commit 73723f0

Browse files
committed
ASDFGJK./
1 parent 6c4bba0 commit 73723f0

File tree

7 files changed

+164
-29
lines changed

7 files changed

+164
-29
lines changed

0x03-debugging/3-convert_day.c

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
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+
* Return: day of year
9+
*/
10+
11+
int convert_day(int month, int day)
12+
{
13+
switch (month)
14+
{
15+
case 2:
16+
day = 31 + day;
17+
break;
18+
case 3:
19+
day = 59 + day;
20+
break;
21+
case 4:
22+
day = 90 + day;
23+
break;
24+
case 5:
25+
day = 120 + day;
26+
break;
27+
case 6:
28+
day = 151 + day;
29+
break;
30+
case 7:
31+
day = 181 + day;
32+
break;
33+
case 8:
34+
day = 212 + day;
35+
break;
36+
case 9:
37+
day = 243 + day;
38+
break;
39+
case 10:
40+
day = 273 + day;
41+
break;
42+
case 11:
43+
day = 304 + day;
44+
break;
45+
case 12:
46+
day = 334 + day;
47+
break;
48+
default:
49+
break;
50+
}
51+
return (day);
52+
}

0x03-debugging/3-main_a

16.5 KB
Binary file not shown.

0x03-debugging/3-main_a.c

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#include <stdio.h>
2+
#include "main.h"
3+
4+
/**
5+
* main - takes a date and prints how many days are left in the year, taking
6+
* leap years into account
7+
* Return: 0
8+
*/
9+
10+
int main(void)
11+
{
12+
int month;
13+
int day;
14+
int year;
15+
16+
month = 4;
17+
day = 01;
18+
year = 1997;
19+
20+
printf("Date: %02d/%02d/%04d\n", month, day, year);
21+
22+
day = convert_day(month, day);
23+
24+
print_remaining_days(month, day, year);
25+
26+
return (0);
27+
}

0x03-debugging/3-main_b.c

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#include <stdio.h>
2+
#include "main.h"
3+
4+
/**
5+
* main - takes a date and prints how many days are left in the year, taking
6+
* leap years into account
7+
* Return: 0
8+
*/
9+
10+
int main(void)
11+
{
12+
int month;
13+
int day;
14+
int year;
15+
16+
month = 2;
17+
day = 29;
18+
year = 2000;
19+
20+
printf("Date: %02d/%02d/%04d\n", month, day, year);
21+
22+
day = convert_day(month, day);
23+
24+
print_remaining_days(month, day, year);
25+
26+
return (0);
27+
}

0x03-debugging/3-main_b.c~

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#include <stdio.h>
2+
#include "main.h"
3+
4+
/**
5+
* main - takes a date and prints how many days are left in the year, taking
6+
* leap years into account
7+
* Return: 0
8+
*/
9+
10+
int main(void)
11+
{
12+
int month;
13+
int day;
14+
int year;
15+
16+
month = 4;
17+
day = 01;
18+
year = 1997;
19+
20+
printf("Date: %02d/%02d/%04d\n", month, day, year);
21+
22+
day = convert_day(month, day);
23+
24+
print_remaining_days(month, day, year);
25+
26+
return (0);
27+
}

0x03-debugging/3-print_remaining_days.c

+30-28
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,36 @@
22
#include "main.h"
33

44
/**
5-
* print_remaining_days - takes a date and prints how many days are
6-
* left in the year, taking leap years into account
7-
* @month: month in number format
8-
* @day: day of month
9-
* @year: year
10-
* Return: void
11-
*/
5+
* print_remaining_days - takes a date and prints how many days are
6+
* left in the year, taking leap years into account
7+
* @month: month in number format
8+
* @day: day of month
9+
* @year: year
10+
* Return: void
11+
*/
12+
1213
void print_remaining_days(int month, int day, int year)
1314
{
14-
if (year % 4 == 0 || ((year % 100 == 0) && (year % 400 == 0)))
15-
{
16-
if (month > 2 && day >= 60)
17-
{
18-
day++;
19-
}
20-
printf("Day of the year: %d\n", day);
21-
printf("Remaining days: %d\n", 366 - day);
22-
}
23-
else
24-
{
25-
if (month == 2 && day == 60)
26-
{
27-
printf("Invalid date: %02d/%02d/%04d\n", month, day - 31, year);
28-
}
29-
else
30-
{
31-
printf("Day of the year: %d\n", day);
32-
printf("Remaining days: %d\n", 365 - day);
33-
}
34-
}
15+
if ((year % 4 == 0 || year % 400 == 0) && !(year % 100 == 0))
16+
{
17+
if (month >= 2 && day >= 60)
18+
{
19+
day++;
20+
}
21+
22+
printf("Day of the year: %d\n", day);
23+
printf("Remaining days: %d\n", 366 - day);
24+
}
25+
else
26+
{
27+
if (month == 2 && day == 60)
28+
{
29+
printf("Invalid date: %02d/%02d/%04d\n", month, day - 31, year);
30+
}
31+
else
32+
{
33+
printf("Day of the year: %d\n", day);
34+
printf("Remaining days: %d\n", 365 - day);
35+
}
36+
}
3537
}

0x03-debugging/main.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55

66
void positive_or_negative(int i);
77
int largest_number(int a, int b, int c);
8-
void print_remaining_days(int day);
8+
void print_remaining_days(int day, int month, int year);
99

1010
#endif /* MAIN_H */

0 commit comments

Comments
 (0)