program
program:
Jak napisac program w C++, ktory ma wyznaczyc date (ruchoma) np. pierwszy poniedziałek po 14
stycznia?
22 gru 18:38
program: Jakby wygladal algorytm?
22 gru 19:19
ktoś: Ruchoma = Losowa?
22 gru 20:01
program: W sensie, ze jest to data ruchoma co rok w innym dniu moze byc.
22 gru 20:08
ktoś: Według mnie da się to zrobić, że sprawdzasz jaki będzie pierwszy dzień w tym roku (czy
poniedziałek, czy wtorek itd.). Tworzyć jakąś zmienną dzień, która będzie chodziła w pętli
tylko w zakresie 1−7 (odpowiednio poniedziałek wtorek). Tworzysz zmienną miesiąc 1 = styczeń
itd.
W tej pętli uwzględniasz dni kalendarzowe i zmiany miesięcy (tu będziesz musiał wprowadzać ile
dni ma dany miesiąc i robić to tak jak z zakresem dni tygodnia czyli tutaj przykładowo marzec
1−31 i pózniej zmienna miesiąc z =3 zmienia się na kwiecień czyli =4). I pętla działa aż do
momentu gdy zmienna dzień == wprowadzony dzień (poniedziałek), dzień kalendarzowy >=
wprowadzony dzień (14) miesiąc == wprowadzony miesiąc (styczeń)
Powinno dać radę, ale pewien nie jestem bo na szybko pisane
Tyle dam radę na teraz podpowiedzieć. Kod mogę jutro napisać jak nie dasz rady.
22 gru 20:31
Pytający:
Można by tak (korzystając z <ctime>):
https://ideone.com/ebOtFQ
Po kolei:
● wpisanie 14 stycznia wybranego roku do bibliotecznej struktury tm
● odpowiednie wywołania mktime i gmtime, wtedy w updatedDate jest już informacja, jaki dzień
tygodnia jest owego 14 stycznia
● obliczenie za ile dni wypada kolejny czwartek i uaktualnienie dnia miesiąca w strukturze
● wywołania mktime i gmtime uaktualnią strukturę (można zamiast tego ręcznie zmienić dzień
tygodnia na czwartek)
● wypisanie szukanej daty
22 gru 20:51
program:
A czy te algorytmy beda dzialac dla dowolnego roku?
22 gru 21:47
23 gru 03:04
program:
Dzieki.
Czyli chodzi mi o program, ktory wyznaczy te date w dowolnym roku.
Np. Jak podam rok 2019 to pokaze mi pierwszy poniedzialek po 14 stycznia: 21 stycznia 2019.
23 gru 12:05
program:
Ja generalnie nie umiem pisac programow. Probowalem cos sam, ale to chyba nie to.
#include <iostream>
using namespace std;
string dzien; string miesiac; string rok (bo ja chce tylko podac rok i zeby ten program pokazal
mi date; tak jak napisalem wyzej)
int main()
{
for (i=1; i<=7); i++)
{ cout <<dzien<<endl; }
for (i=1; i<=12; i++)
{ cout<<miesiac<<endl; }
24 gru 16:31
Pytający:
Nieco zmodyfikowane to co wyżej:
https://onlinegdb.com/r13gOUpff
Kliknij "Run" na samej górze (lub wciśnij F9), aby uruchomić. Powinno działać dla dat po
roku 1900.
24 gru 20:52
program:
Dzieki. Ale nie pojawia sie data.
24 gru 21:06
24 gru 21:24
program:
Dziekuje, ale i tak nie chodzi. Jest tak:
Podaj rok: (wowczas podaje 2018) i naciskam enter i pojawia sie:
Pierwszy czwartek po (tutaj nic sie nie pojawia) wypada (tutaj tez nic nie ma).
A ten algorytm z petla, gdzie byly dni tygodnia i miesiace jest skomplikowany?
24 gru 23:02
Mariusz:
Może lepiej podawać dane przez argumenty funkcji main
wtedy będziesz mógł przekierować wynik do pliku
Spróbuj wykorzystać funkcje u tego kolesia
funkcja na dzien tygodnia
lub do konwersji na dni juliańskie
25 gru 07:18
program:
A czy to, ze chce uruchomic ten program z 20:52 w Code Blocks ma znaczenie, moze dlatego nie
dziala?
Probuje zrobic ten program tak jak z 20:31 z tymi petlami, ale nie za bardzo mi to wychodzi.
25 gru 23:07
Adamm: to na pewno ma znaczenie
25 gru 23:17
program:
A jakby wygladal ten program z 20:31 z tymi petlami dla dowolnego roku?
26 gru 14:26
26 gru 15:46
program:
Teraz dziala.
Dziekuje bardzo.
26 gru 17:49
26 gru 22:29