imralav Temat założony przez niniejszego użytkownika |
Projektowanie programu » 2011-08-27 07:16:14 Witam! Często czytam o tym, że bardzo istotną częścią tworzenia jakiejkolwiek aplikacji jest jej projektowanie. Niestety nie spotkałem się do tej pory z żadnymi wskazówkami, jakąkolwiek pomocą dotyczącą projektowania. Jako, że do sprawy podchodzę dosyć poważnie zacząłem projektować program zanim rzeczywiście zacznę go programować. Programem, który mam w planach jest książka telefoniczna w konsoli. Moje projektowanie wygląda następująco: Projekt: Książka telefoniczna.
Co ma robić? 1. Wczytywać listę osób z pliku; 2. Dodawać nowe osoby do listy; 3. Usuwanie osób z listy; 4. Wyświetlanie całej listy. 5. Wyświetlanie pojedynczych osób; 6. Zapisywanie listy osób do pliku;
Dane o osobach przechowywanie w klasie COSOBA. Te dane to: - imie - nazwisko - numer tel - adres zamieszkania - email
Klasa ta ma możliwość wyświetlania poszczególnych danych osobno lub jako całego profilu a także opcja zmiany poszczególnych danych.
Do obsługi listy posłuży klasa CLISTA, wczytująca z pliku, wyświetlająca i zapisująca do pliku listę.
|
Tak to wygląda na ten moment. Czy trafiłem w sedno, czy na tym polega projektowanie aplikacji? Co jeszcze mógłbym dodać, jak usprawnić proces projektowania? I tak jeszcze do głowy mi przyszło: czy jest już gotowa funkcja sortowania alfabetycznego? Pozdrawiam, imralav. |
|
markon |
» 2011-08-27 08:46:48 STL realizuje sortowanie alfabetyczne, ja proponuję Ci zastosowanie konteneru set (domyślnie sortuje).
|
|
imralav Temat założony przez niniejszego użytkownika |
» 2011-08-27 09:26:43 Jasne, zaraz sprawdzę. A wniesiesz coś do tematu w kwestii projektowania? ; d |
|
markon |
» 2011-08-27 09:54:47 szczerze mówiąc ja wykonując jakiś projekt, nie pracuję nad projektem od strony teoretycznej, myślę nad tym wszystkim podczas pisania, zatem nie wiele wiem na ten temat, zaś Twój projekt jest na moje oko OK :) |
|
imralav Temat założony przez niniejszego użytkownika |
» 2011-08-27 10:07:11 Co do STL'owego - miło, że sortuje samo. Sortowanie jednak wykonywane ma być według nazwisk, a ma to do siebie, że wstawia element jeśli takiego już nie ma, a przecież w książce mogą być osoby o tym samym nazwisku. Do tego nie widzę tu opcji wstawiania elementu w miejscu, w którym ja chcę, by był wstawiony. Więc chyba zostanę przy |
|
markon |
» 2011-08-27 14:41:54 jeśli zastosujesz multiset będziesz mógł przechowywać duplikaty, poza tym jak chciałbyś wstawiać obiekt w miejsce, które chcesz, a jednocześnie mieć posortowane dane? kontener set/multiset stosuje iteratory do przeglądania elementów, jeśli chcesz aby było sortowane po nazwisku spróbuj przeciążyć funktor less, i skonkretyzuj szablon. Możesz w tym projekcie zastosować również listę jednokierunkową bądź dwukierunkową. "ma to do siebie, że wstawia element jeśli takiego już nie ma, a przecież w książce mogą być osoby o tym samym nazwisku." pamiętaj, że Ty nie będziesz przechowywał Nazwisk w kontenerze tylko OBIEKTY, w którym jedną ze składowych będzie właśnie nazwisko, a Ty możesz przeciążyć funktor less tak, aby porządkował dane pod kątem nazwiska. Zaś szablon vector'a nie zawiera funktora less. |
|
imralav Temat założony przez niniejszego użytkownika |
» 2011-08-27 15:04:50 No z tym nazwiskiem rzeczywiście gafa. Tak czy siak zrobiłem już to przy pomocy vectora. Sortowanie zrobione, pozostało napisać jakiś interfejs i gotowe. Ale właściwie, w ramach ćwiczeń może zrobię coś podobnego przy użyciu set/multiset.
Kwestia projektowania nadal nie została poruszona. Czy tak na prawdę wszyscy 'projektują' już w trakcie pisania? |
|
markon |
» 2011-08-27 15:13:51 nie sądzę, żeby robili to tak wszyscy, ja po prostu nie wykonuję wielu projektów, właściwie bardzo nie wiele, ale podobnie jak Ty napotykam opinie, że to bardzo pomaga, więc pozostaje nam czekać na opinie innych :) jak zrealizowałeś sortowanie - pisałeś sam, czy funkcja sort(STL)? P.S Co każde dodanie nowej osoby wykonujesz na nowo sortowanie? |
|
« 1 » 2 3 |