Witam wszystkich!
Mam napisać program do porównywania dat, który oceni - która data jest wcześniej w kalendarzu.
Napisałem i skompilowałem program, ale po uruchomieniu i wprowadzeniu pierwszej danej, program się zamyka, bo system windows napotkał błąd...
Zaznaczam że dopiero zaczynam przygodę z programowaniem, więc żadne logiczne wyjaśnienie nie przychodzi mi do głowy...
Z góry dzięki za pomoc!!!
napisałem coś takiego:
#include<stdio.h>
main()
{
int dzien1, dzien2, mies1, mies2, rok1, rok2;
printf("Podaj dzien daty pierwszej: ");
scanf("%d\n", dzien1);
if (dzien1 > 31 || dzien1 < 0)
{ puts("miesiąc ma od 1 do 31 dni");
return (main()); }
else
printf("\ndzien to: %d\n", dzien1);
printf("\nPodaj miesiac daty pierwszej: ");
scanf( "%d\n", mies1);
if (mies1>12 || mies1<0)
{puts("jest 12 miesięcy");
return (main());}
else
printf("miesiąc to: %d", mies1);
printf("\nPodaj rok daty pierwszej: ");
scanf("%d\n", rok1);
printf("Twoja data to (dd.mm.rrrr): %d.%d.%d", dzien1, mies1, rok1);
puts("Podaj dzien daty drugiej: ");
scanf("%d\n", dzien2);
if (dzien2 > 31 || dzien2 < 0)
{ puts("miesiąc ma od 1 do 31 dni");
return (main()); }
else
printf("\ndzien to: %d\n", dzien2);
printf("\nPodaj miesiac daty drugiej: ");
scanf( "%d\n", mies2);
if (mies2>12 || mies2<0)
{puts("jest 12 miesięcy");
return (main());}
else
printf("miesiąc to: %d", mies2);
printf("\nPodaj rok daty drugiej: ");
scanf("%d\n", rok2);
printf("Twoja data to (dd.mm.rrrr): %d.%d.%d", dzien2, mies2, rok2);
if (rok1>rok2 || (rok1==rok2 && mies1>mies2) || (rok1==rok2 && mies1==mies2 && dzien1>dzien2))
puts("data pierwsza jest pozniej w kalendarzu, czyli druga data jest wcześniejsza");
else
if ((rok1==rok2) && (mies1==mies2) && (dzien1==dzien2))
puts("obie daty są równe");
else
puts("data druga jest pozniej w kalendarzu, czyli pierwsza data jest wcześniejsza");
}