if else , y1 >, y2. , (, ) y1 > y2 , else () .
else else if ( ):
if (y1 < y2) {
printf("%d/%d/%.2d is earlier than %d/%d/%.2d\n",m1, d1, y1, m2, d2, y2);
}
else if (y2 < y1) {
printf("%d/%d/%.2d is earlier than %d/%d/%.2d\n",m2, d2, y2, m1, d1, y1);
}
, , , , , : if (d1 < d2) false, else.
, else if:
if (y1 == y2 && m1 == m2) {
if (d1 < d2) {
printf("%d/%d/%.2d is earlier than %d/%d/%.2d\n",m1, d1, y1, m2, d2, y2);
}
else {
if (d2 < d1) {
printf("%d/%d/%.2d is earlier than %d/%d/%.2d\n",m2, d2, y2, m1, d1, y1);
}
else {
printf("Dates are equal\n");
}
}
}
, , -, printf, .
, ( ):
int main(void)
{
int m1, m2, d1, d2, y1, y2;
int result = DATES_ARE_EQUAL;
printf("Enter the first date (mm/dd/yy): ");
scanf("%d/%d/%d", &m1, &d1, &y1);
printf("Enter the second date (mm/dd/yy): ");
scanf("%d/%d/%d", &m2, &d2, &y2);
if (y1 < y2) {
result = SECOND_DATE_IS_BIGGER;
}
else if (y2 < y1) {
result = FIRST_DATE_IS_BIGGER;
}
else {
if (m1 < m2) {
result = SECOND_DATE_IS_BIGGER;
}
else if (m2 < m1) {
result = FIRST_DATE_IS_BIGGER;
}
else {
if (d1 < d2) {
result = SECOND_DATE_IS_BIGGER;
}
else if (d2 < d1) {
result = FIRST_DATE_IS_BIGGER;
}
}
}
switch (result) {
case FIRST_DATE_IS_BIGGER:
printf("%d/%d/%.2d is earlier than %d/%d/%.2d\n",m2, d2, y2, m1, d1, y1);
break;
case SECOND_DATE_IS_BIGGER:
printf("%d/%d/%.2d is earlier than %d/%d/%.2d\n",m1, d1, y1, m2, d2, y2);
break;
case DATES_ARE_EQUAL:
printf("Dates are equal.\n");
break;
}
return 0;
}
.