Aplikacja pokroju "jakdojade"

0

Witam
Chciałbym się doradzić bardziej doświadczonych forumowiczów ponieważ mam do napisania aplikacje, znacznie okrojoną ale typu portalu "jakdojade".
Zadania które dana aplikacja powinna realizować :

  • wprowadzanie tras autobusów, tramwajów i metra oraz ich wizualizację na ekranie.
  • Program ma umożliwiać wyszukiwanie połączeń pomiędzy dwoma wybranymi punktami. A tutaj jeszcze dodatkowe wytyczne: -opracować rozkład jazdy dla każdego przystanku i linii z podaniem godziny,
    -na jednym przystanku może zatrzymywać sie kilka autobusów, klasa określająca typy linii ma być typem , na każdym przystanku moze zatrzymywac sie kilka linii,
  • każdy przystanek jest odpowiedniego typu.

Jest to projekt zaliczeniowy z programowania obiektowego, więc nie ma być jakiś "mega" itd tylko pokazywać pewne mechanizmy.
Wiem że na pewno potrzebuje klas :

  • Przystanek **
    char[20] nazwa;
    int typ;
    list<int> linie ;
  • Wyszukaj linie ();
  • Dodaj Linie();

Linia
char[20] nazwa;
int typ;
list<int> przystanki ;

+Wyszukaj przystanku
+dodaj przystanek

Ale jakie metody, klasy jeszce mi się przydadzą ? na pewno już widzę problem z "godzinami odjazdow" bo nie bardzo wiem gdzie to wpakować i połączyć w jedną całość.
Proszę o wyrozumiałość ponieważ to mój pierwszy "większy" projekt :)

0

20 znaków na nazwę przystanku to dość mało. Użyj po prostu std::string, po co się męczyć?

0

ok dzięki :) ma może ktoś pomysł z tymi godzinami odjazdów na poszczególnym przystanku ? na tych dwóch klasach dam radę zrobić to ? Ogólnie mam prowadzącemu przedstawić diagram klas... i przedstawię mu diagram z dwoma klasami ?xd

0

Może klasa pojazd i ustawić jego trasę, a wszystko zawrzeć w klasie mapa?

:sam bym tak próbował zrobić:

1

Ja bym zaczął od czegoś takiego:

  • klasa przystanek (proponuje zrobić osobne przystanki tego samego punktu w każdą stronę, jako że czasami tramwaje/autobusy jeżdżą inaczej w jedną i w drugą stronę, poza tym przystanki są w troche innym punkcie - na drugiej stronie ulicy i potrafią być oddalone o nawet 100+m)
  • klasa linia - zawiera listę przystanków (możesz albo podzielić każdy kierunek na osobną linię albo zrobić linię pętlę) - tutaj możesz zawrzeć czas przejazdu między przystankami (te z reguły są stałe - ale zweryfikuj i godziny odjazdy z pierwszego przystanku)

jeśli ten projekt nie spełnia wymagań to zmień według potrzeb.

Nie projektuj nazw metod jak zaczynasz. Jak chcesz to skończyć w rozsądnym czasie to zrób wszystko publiczne, napisz algorytmy i potem zrefaktoruj. Na upiększaniu projektu stracisz więcej czasu niż na same zrobienie projektu jeśli od tego zaczniesz. Jak zaczniesz pisać to będziesz wiedział czego potrzebujesz. Staraj się po prostu trzymać funkcje związane z danym obiektem w jego klasie i algorytm uprość jak najbardziej się da (nie rób na początku algorytmu najoptymalniejszego - lepiej brutem ale szybko i działająco).

Twoim celem powinno być skończenie prototypu jak najszybciej, potem jak już będziesz wiedział z jakimi problemami się spotkałeś to możesz albo zaklepać wszystko od nowa ładniej albo zrefaktoryzować kod i optymalizować tylko jeśli jest potrzeba.

0

krwq myślę że jak utworzę kilka przystanków w jednym miejscu to jeszcze bardziej narobi mi się bałagan. co prawda byłoby to bardziej realistyczne ale zwiększyłoby chyba niepotrzebnie program

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