Skip to content

tomekos11/GraphAPP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

1. OPIS PROJEKTU

Graph APP - dwuwątkowa aplikacja CLI + wyświetlacz, stworzona na potrzeby szkolnego projektu z języka C++. Wyświetla ona w czasie rzeczywistym, jak wygląda graf zbudowany na podanych przez nas krawędziach. W aplikacji możemy sprawdzać stopnie każdego z wierzchołków, ilość możliwych do stworzenia drzew rozpinających, a także inne istotne informacje o tworzonym przez nas grafie - ilość krawędzi, wierzchołków itd. Aplikacja obrazuje tak naprawdę początek mojej przygody z programowaniem obiektowym oraz podziałem na wątki. Sam zamysł aplikacji pojawił się z dwóch powodów:
- Grafy to struktury za pomocą których jesteśmy w stanie opisać większość zjawisk - po prostu je lubie
- postanowiłem, że taka aplikacja, przy odpowiednim jej rozwoju, może mieć duże walory edukacyjne, szczególnie dla przyszłych studentów

2. OPIS FUNKCJONALNOŚCI

  1. Aplikacja wita nas komunikatami o poprawnym zainicjalizowaniu się obiektów, a następnie prosi o wprowadzenie orientacyjnej liczby wierzchołków(orientacyjnej, ponieważ w razie potrzeby będzie się ona powiększała).
  2. Odpowiadamy jej na to liczbą całkowitą z przedziału <0-10>.
  3. Kolejnym etapem jest prośba aplikacji o podanie pary wierzchołków, na której zbudowana ma być krawędź.
  4. W tym momencie mamy kilka możliwości. Najbardziej naturalną jest podanie dwóch cyfr w formacie "xy", gdzie obie są indeksami wierzchołków.

Wierzechołki są numerowane od 0 do 9.

Przykład 1:
Podaliśmy programowi na wejściu cyfry 03
Program potwierdza wprowadzenie do systemu krawędzi, wypisuje aktualną liczbę wszystkich krawędzi, a w międzyczasie rysuje ją w oknie graficznym.

Przykład 2:
Podaliśmy programowi na wejściu cyfry 031 (lub jakąkolwiek niedozwoloną kombinację znaków)
Program informuje nas o błędzie i wracamy do momentu wprowadzania krawędzi.


5. Alternatywą do wprowadzania krawędzi jest używanie dostępnych w programie komend opisanych w trzecim dziale.

Przykład 3:
Podaliśmy programowi na wejściu komendę help
Program reaguje na nią, wypisując na ekranie wszystkie dostępne komendy.


3. ZDEFINIOWANE KOMENDY

  1. [draw_all] - Rysuje wszyskie możliwe krawedzie dla każdego z aktualnie dostępnych wierzcholkow na mapie(tworzy graf pełny)
  2. [clear_all] - Czyści wszyskie krawedzie na mapie
  3. [info] - Wyświetla informacje o grafie [pary krawedzi, ilosc wierzcholkow, ilosc krawedzi etc.]
  4. [clear] - Czyści konsolę
  5. [change_vertices] - Zmienia liczbę wierzchołków na mapie, usuwa przy tym dotychaczas dodane krawedzie!
  6. [vertex_degree] - Pokazuje stopień podanego wierzcholka
  7. [vertex_degree_A] - Pokazuje stopnie wszystkich wierzchołków
  8. [vertices_adjacention] - Sprawdza czy wprowadzone wierzchołki sa sąsiednie
  9. [spanning_trees] - Wyświetla ilość drzew rozpinających oraz kolejne kroki obliczania tej liczby
  10. [cayleys_formula] - Wyswietla kolejne liczby drzew rozpinajacych dla grafu pelnego n^(n-2)

4. Jak testować:

Pobieramy folder ".Exe" i otwieramy plik GraphAPP.exe - aplikacja powinna się uruchomić. Następnie wykonujemy kroki z drugiego działu




About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published