Сравнение дат

Решение задач на языке программирования C

Напишите программу, которая запрашивает у пользователя две даты в формате дд.мм.гггг. Дни, месяцы и года следует присвоить целочисленным переменным. Программа должна выводить на экран информацию о том, какая дата более ранняя, а какая более поздняя.

#include <stdio.h>
 
main() {
	int dd1, dd2, mm1, mm2, yy1, yy2;
	int i;
 
	printf("Enter first date (dd.mm.yyyy): ");
	scanf("%d.%d.%d", &dd1, &mm1, &yy1);
	printf("Enter second date (dd.mm.yyyy): ");
	scanf("%d.%d.%d", &dd2, &mm2, &yy2);
 
	if (yy1 > yy2) i = 1;
	else 
		if (yy1 < yy2) i = 2;
		else // когда года равны
			if (mm1 > mm2) i = 1;
			else
				if (mm1 < mm2) i = 2;
				else // когда равны года и месяцы
					if (dd1 > dd2) i = 1;
					else 
						if (dd1 < dd2) i = 2;
						else // даты совпадают
							i = 0;
 
	if (i == 1) printf("Первая дата более поздняя\n");
	else 
		if (i == 2) printf("Вторая дата более поздняя\n");
		else printf("Даты совпадают\n");		
}