Jaki to był dzień?

0

Cześć, mam ogromny problem. Otóż w mojej szkole poziom nauczania informatyki jest w opłakanym stanie, a nauczyciel jest wymagający.
Zadał nam takie oto zadanie:
Napisz program, który na podstawie podanej daty podaje jaki to był dzień tygodnia.
Zupełnie nie wiem jak się za to zabrać i bardzo proszę o pomoc.
Nauczyciel mówił o jakiejś funkcji, chyba getdate, ale i tak nikomu z klasy w niczym to nie pomogło.
Szukałem tego programu w googlach, na tym forum, ale jakikolwiek program znalazłem albo robił co innego, albo zawierał takie rzeczy, że profesor od razu by się zorientował, że takiego czegoś nie umiałbym wykorzystać (on zapewne też)...
Błagam o pomoc!

0

Czyli chcesz, abyśmy zrobili za Ciebie to zadanie...Nic nowego...
Ale gdybyś pewnie uważał na lekcjach to byś wiedział jak napisać.

0

Na tym forum "pomoc" = "pokaż, co zrobiłeś do tej pory i czego nie umiesz/co Ci nie dziala".

Jak chcesz abys ktos za Ciebie zrobil to zadanie, to od tego jest dział Praca.

0

Patryku, uważam, mam wszystkie notatki, ale w nich nic dosłownie nie ma. Nasz profesor siedzi na portalach internetowych i na tym się jego praca kończy, a zadania daje takie, że nikt tego rozwiązać nie umie...

Zapomniałem:
Programu nie mam, bo nawet nie wiem jak się za to zabrać :/

0
  1. napisz w czym masz to robic: Delphi czy czysty Pascal ?
  2. POSZUKAJ (np u kochanego wujka Google) algorytmu do sprawdzania dnia tygodnia na podstawie daty
  3. Zaimplementuj ten algorytm u siebie. Koniec.
0

Moment...
1) Jakiego używasz kompilatora ??
2) Cytacik z Dokumentacji FPC (Nie wiem czy ta procedura będzie tak samo działać na TP)
9.10.17 GetDate
Synopsis: Get the current date
Declaration: procedure GetDate(var year: Word;var month: Word;var mday: Word;
var wday: Word)
Visibility: default
Description: GetDate returns the system’s date. Year is a number in the range 1980..2099.mday is the day of
the month, wday is the day of the week, starting with Sunday as day 0.
Tego pogrubionego potrzebujesz (Daje wartość 1-7, 1 Pon, 2 Wt itd.)
Tylko, że to daje nam dzisiejszą date. Tak więc przyda ci się też to:
9.10.32 SetDate
Synopsis: Set system date
Declaration: procedure SetDate(year: Word;month: Word;day: Word)
Visibility: default
Description: SetDate sets the system’s internal date. Year is a number between 1980 and 2099.

Algorytm(Prawie...;):
1) Zapisz datę systemową
2) Zapytaj o datę do sprawdzenia dnia tygodnia
3) Zapisz datę sprawdzaną jako datę systemową
4) Sprawdź dzień tygodnia daty systemowej
5) Wyświetl dzień tygodnia
6) Przywróć starą datę systemową

0

jak zwykle nauczyciel to cham, który wymaga wiele ale nic nie tłumaczy a uczniowie to biedne myszki, które nie wiedzą co mają zrobić

szukałeś na google i na forum ??

to czemu nie znalazłeś np tego

Jak z podanej daty odliczyć dzień tygodnia

oraz na forum znalezione

const
  DayValues : array[1..7] of String =
  ( 'Niedziela', 'Poniedziałek', 'Wtorek', 'Środa', 'Czwartek', 'Piątek', 'Sobota');

begin
  Showmessage('dzień tygodnia podany w dacie to ' + DayValues[DayOfWeek(strtodate(edit1.text))]);

end;

dodane do kodu 2 rzeczy bo pewnie byś i tak nie wiedział jak zrobić aby można było wpisywać datę ręcznie bo zapewne nauczyciel też o tym nie mówił :/

a o getdate napisał Ci wyżej czarny445 .. i o samej funkcji tez jest pełno info i przykładów w google

naucz się szukać

0

Mozna tez zrobić tak jak poniżej. Jak widzisz jest to banalne, wystarczyło pomyśleć chwilę i pogooglować :P

var
  Data : TDate;
  Tekst : string;
begin
   DateTimePicker1.Kind := dtkDate;
   DateTimePicker1.Time := EncodeTime(0, 0, 0, 0);
   Data := DateTimePicker1.Date;
   if Date = Data then
     Tekst := 'to';
   if Data < Date then
     Tekst := 'to był(a)';
   if Data > Date then
     Tekst := 'to będzie';
   ShowMessage(DateToStr(Data) + ' ' + Tekst + ' ' + FormatDateTime('DDDD', Data));
end;

I na pewno były na lekcjach jakieś przykłady pisania, poza tym jest przecież pomoc do Delphi, ale Ty nam
będziesz wciskał że wredny nauczyciel nie tłumaczył nic w ogóle i nagle wymaga aby zrobić coś z niczego.

0

Nauczyciel zawsze jest winny!!! ;)
Tak więc masz tu 3 fajne rozwiązania tego problemu. Więc powodzenia ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0