Napisz program obliczający liczbę dni, które upłynęły od daty Twojego urodzenia do dzisiaj.
Program powinien korzystać z funkcji obliczających liczbę dni w roku i liczbę dni w miesiącu
Napisałem już funkcje obliczajace ile dni ma miesiać uwzgledniaj rok przestepny.
Zastosowałem już petle do pierwszego roku, i każdy następny miesiąc zostaje przypisany do tablicy.
Pomożecie dalej, mam znowu zrobić pętle te pozostałych pełnych lat a później dodać ostatni niepełny rok i pąłączyć te tablice?
Mój kod:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int liczeniemiesiecy(int miesiac, int rok)
{
if ((miesiac == 1) || (miesiac == 3) || (miesiac == 5) || (miesiac == 7) || (miesiac == 8)
|| (miesiac == 10) || (miesiac == 12))
{
return 31;
}
else
{
if ((miesiac == 4) || (miesiac == 6) || (miesiac == 9) || (miesiac == 11))
{
return 30;
}
else
{
if ((miesiac == 1) || (miesiac == 3) || (miesiac == 5) || (miesiac == 7)
|| (miesiac == 8) || (miesiac == 10) || (miesiac == 12))
{
return 31;
}
else
{
if ((rok % 400 == 0) || (rok % 4 == 0) && (rok != 100))
{
return 29;
}
else
{
return 28;
}
}
}
}
}
int przestepny(int rok)
{
if ((rok % 100 != 0) && (rok % 4 == 0) || (rok % 400 == 0))
{
return 366;
}
else
{
return 365;
}
}
int main()
{
int urrok, urmiesiac, urdzien;
int zliczanie[900]; // tablica zliczanie dni w miesiacach
time_t czas = time(NULL);
struct tm czas_lokalny = *localtime(&czas);
printf("teraz: %d-%d-%d %d:%d:%d\n", czas_lokalny.tm_year + 1900, czas_lokalny.tm_mon + 1,
czas_lokalny.tm_mday, czas_lokalny.tm_hour, czas_lokalny.tm_min, czas_lokalny.tm_sec);
printf("podaje rok urodzenie\n");
scanf("%d", &urrok);
printf("podaj miesiac\n");
scanf("%d", &urmiesiac);
printf("podaj dzien\n");
scanf("%d", &urdzien);
int i;
for (i = urmiesiac; i <= 12; i++)
{
zliczanie[-1 + i] = liczeniemiesiecy(i, urrok); // przypisanie dni z miesiecy do tablicy
zliczanie[0] = liczeniemiesiecy(i, urrok)
- urdzien; // przy pierwszym miesiacu data to np 22 to odemuje date ktora wczytalismy
int a;
}
return 0;
}