kanalia Posted September 24, 2011 Report Share Posted September 24, 2011 Witam! Mam napisać program, który wyświetla godzinę, rozpoznaje dzień tygodnia, porównuje obecną godzinę i wyświetla aktualną i następną lekcję. Na razie mam tyle: program plan_lekcji_get; uses CRT, Dos; var a:array[1..5]of array[1..8]of String; rok, mies, dzien, dt, godz, min, sek, sek100 : word; godzmin : integer; begin clrscr; //Poniedzialek a[1,1]:='Godz. Wychowawcza'; a[1,2]:='PTI'; a[1,3]:='Fizyka'; a[1,4]:='Met. Programowania'; a[1,5]:='Religia'; a[1,6]:='Niemiecki'; a[1,7]:='Angilski'; //Wtorek a[2,1]:='Historia'; a[2,2]:='Matematyka'; a[2,3]:='J. Polski'; a[2,4]:='UTK'; a[2,5]:='PTI'; a[2,6]:='Met. Programowania'; a[2,7]:='WF'; //Sroda a[3,1]:='Kultura'; a[3,2]:='J. Polski'; a[3,3]:='Matematyka'; a[3,4]:='Biologia'; a[3,5]:='UTK'; a[3,6]:='PTI'; a[3,7]:='Met. Programowania'; a[3,8]:='Met. Programowania'; //Czwartek a[4,1]:='WF'; a[4,2]:='WF'; a[4,3]:='PO'; a[4,4]:='UTK'; a[4,5]:='PTI'; a[4,6]:='J. Polski'; a[4,7]:='Met. Programowania'; //Piatek a[5,1]:='Geografia'; a[5,2]:='Matematyka'; a[5,3]:='Niemiecki'; a[5,4]:='Angielski'; a[5,5]:='Fizyka'; a[5,6]:='Religia'; a[5,7]:='Chemia'; GetDate(rok, mies, dzien, dt); GetTime(godz, min, sek, sek100); //tutaj chce w jakis sposob zapisac godzine w (godzmin) godz,min by byla //porownywalna w dalszej czesci programu w latwiejszy sposob Writeln ('Teraz jest godzina: ' godzmin); Readkey; if dt=0 or 6 then //sobota i niedziela Writeln('Nie ma dzis lekcji')else begin if dt=1 then begin if (godzmin>=8) and (godzmin<=8,45) then Writeln('Teraz jest: ',a[1,1],'a potem bedzie ', a[1,2]); //itd. end; end; Readkey; end. Prosiłbym o jakieś nakierowanie. Link to comment Share on other sites More sharing options...
olesio Posted September 24, 2011 Report Share Posted September 24, 2011 A w czym Ciebie mamy nakierowac? Bo jak coś można doradzić póki co to przede wszystkim polecam po ludzku formatować kod i zrobić taki program w WinAPI po poznaniu podstaw lub nawet w Delphi pod VCL, żeby miał jakiś standardowy ale przynamniej w miarę ładny graficzny interface, a nie konsola. Pozdrawiam: olesio Link to comment Share on other sites More sharing options...
YoS Posted September 25, 2011 Report Share Posted September 25, 2011 Nie wiem po co uzywasz zmiennej a.. przeciez nie operujesz potem wartosciami indeksow czyz nie? Ja pisalem podobna rzecz tylko bez godzin i uzylem case.. 1st Post Link to comment Share on other sites More sharing options...
Volvox Posted September 26, 2011 Report Share Posted September 26, 2011 Ja bym zrobil kolejna tablice z 3 kolumnami. Pierwsza z godzina zaczecia, druga zakonczenia i trzcia z indeksem przedmiotu. 8:00 8:45 1 8:46 8:50 0 8:51 9:35 2 9:36 9:40 0 Potem: for x:=1 to LiczbaElementow3Tablicy do if godzina > b[x,1] and godzina < b[x,2] then IndexPrzedmiotu := b[x,3] break else text := "w tej godzinie nie ma lekcji" if IndexPrzedmiotu == 0 then text := "Jest przerwa" else text := "Jest " + a[DzienTygodnia, IndexPrzedmiotu] Powienines pamietac zeby sprawdzic czy dana lekcja nie jest przypadkiem ostatnia zanim wyswietlisz nastepna (inaczej bedzie wyskakiwac blad wyjascia poza zakres tablicy) Link to comment Share on other sites More sharing options...
Integer Posted September 27, 2011 Report Share Posted September 27, 2011 Przy założeniu, że ma być względnie najprościej proponuje dane wrzucić w tablice rekordów żeby programujący nie zginął w gąszczu teoria: http://www.unit1.pl/182,txt http://www.unit1.pl/169,txt przykład użycia http://forum.unit1.pl/topic/1143-pascal-samochodowa-baza-danych-w-turbo-pascalu/ Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.