Nie chodzi dokładnie o aktualną datę, ale o to, że muszę: "Proszę założyć aktualna datę jako 31.12.2012"
I użyć do tego funkcji getdate(), ale nie mam pojęcia jak jej się używa.
Nie wiem jak Twoja wersja Google, ale moja daje coś takiego np.
http://programmershub.blogspot.com/2009/09/turbo-c-get-date.html
Po co założyłeś nowy temat, w dodatku obcinając ważne informacje. Masz 2 wersje zadania:
getdate()
twonek napisał(a):
Po co założyłeś nowy temat, w dodatku obcinając ważne informacje. Masz 2 wersje zadania:
- łatwiejszą - obecna data to 31.12.2012
- trudniejszą - pobrać aktualną datę za pomocą
getdate()
Mieszanie tych 2 rzeczy nawet na oko nie ma sensu.
Pobrałem datę korzystając z GetLocalTime().
Zajrzyj do mojego kodu: http://wklej.org/id/1488467/
Teraz myślę jak zrobić żeby jak np. ktoś urodzi się 18 marca. To myślę jak zrobić żeby od zmiennej 'wynik' - odjąć liczbę dni ze stycznia, czyli 31, zaś lutego, czyli jeśli to rok przestępny 29, i 18 dni z marca. Niby w zadaniu jest, że 31 dni ma miesiąc, ale chciałbym tak dla siebie. Jak coś wymyślę napisze. Jak moglibyście to sprawdźcie kod i coś doradźcie.
int getNumberOfDays(int month)
{
int numberOfDays = 0;
if(month == 1 || month == 3 || month == 5 itd..)
numberOfDays = 31;
else if(month == 2)
//sprawdz czy jest przestepny jezeli tak to 29 dni jezeli nie to 28
else
numberOfDays = 30;
return numberOfDays;
}
a potem jak chcesz odejmowac
wynik-=getNumberOfDays(month)
oczywiście to jest rozwiązanie dla pełnych miesięcy a nie np. 18 dni
chyba nic nie pochrzaniłem, pisałem na stronie
tffsts napisał(a):
int getNumberOfDays(int month)
{
int numberOfDays = 0;
if(month == 1 || month == 3 || month == 5 itd..)
numberOfDays = 31;
else if(month == 2)
//sprawdz czy jest przestepny jezeli tak to 29 dni jezeli nie to 28
else
numberOfDays = 30;
return numberOfDays;
}
a potem jak chcesz odejmowac
wynik-=getNumberOfDays(month)
oczywiście to jest rozwiązanie dla pełnych miesięcy a nie np. 18 dni
chyba nic nie pochrzaniłem, pisałem na stronie
Właściwie już prawie skończyłem: http://wklej.org/id/1488581/
Pytanie do Was jak w tej klasie getNumberOfDays(int month) umieścić drugą tego typu:
int getCheckLeapYear(int rok_ur)
{
int x = 0;
if ((rok_ur % 4 == 0 && rok_ur % 100 != 0) || (rok_ur % 400 == 0))
{
x = 29;
}
else
{
x = 28;
}
return x;
}
I przypisać zaś to tak np.: numberOfDays=getCheckLeapYear(rok_ur);
Albo jak inaczej wykombinować, żeby już w tej klasie sprawdzany był czy rok_urodzenia jest przestępny i jeśli tak wybierał wartość "29" ??
Mam problem, bo nie potrafię zadeklarować klasy wewnątrz funkcji main(), bo zaś mam błąd "this function is illegal", a ze zmiennej rok_ur, przed main(), nie mogę korzystać. Macie pomysł?
Załatwiłem to instrukcją warunkową, ale pomóżcie mi ogarnąć to tak, żeby w klasie już było jakoś sprawdzone czy rok narodzin i rok aktualny jest przestępny jeśli tak to liczba dni w lutym wynosi odpowiednio 29, jeśli nie 28.
To kod tych instrukcji, którymi to załatwiłem:
/*Instrukcja warunkowa dodająca 1 dzień jeśli rok aktualny jest rokiem przestępnym*/
if ((rok % 4 == 0 && rok % 100 != 0) || (rok % 400 == 0))
{
dni_z_miesiaca_akt += 1;
}
/*Instrukcja warunkowa dodająca 1 dzień jeśli rok narodzin był rokiem przestępnym*/
if((rok_ur % 4 == 0 && rok_ur % 100 != 0) || (rok_ur % 400 == 0))
{
dni_z_miesiaca_ur += 1;
}
@Edit 2
Skończyłem niech ktoś sprawdzi -> http://wklej.org/id/1488788/
PS: Macie pomysł jak skrócić kod, zoptymalizować?
I jakie urozmaicenia macie pomysł?
@Edit 3
Końcowy programik:
(1) Oblicza ilość przeżytych dni.
(2) Dzień tygodnia w którym się urodziło.
(3) Ilość dni do najbliższych urodzin.