[ Pobierz całość w formacie PDF ]
//-->ZADANIE 1 - „OBIEKTOWY INTERFEJS”OPIS ZADANIA:Zaprojektować oraz zaimplementować klasę realizującą interfejs użytkownika w trybie tekstowym.Przykładem jest prosty system okienkowy uwzględnający podstawowe okna służące komunikacji aplikacji i użytkownika:1. Okno menu głównego/-----------------------------------------------\|Menu|+--------------+----------------+---------------+| 1-Wpr. Dane | 2-Pokaz dane | 3-Wyjscie|\--------------+----------------+---------------/2. Okno zapytaniaWykorzystywane do wprowadzania danych (różnych)/-------------------------------\|Okno Zapytania|+-------------------------------+| Podaj ilość:⌴⌴|||\-------------------------------/3. Okno informacjiWykorzystywane do pokazywania danych (różnych)/-------------------------------\|Informacja|+-------------------------------+| Wynik obliczen=12.22|||\-------------------------------/WYMAGANIA ZADANIA:1. Organizacja logikiInterfejs powinien być obiektem (klasą), aby można było go wielokrotnie wykorzysywać (np. wpóźniejszych projektach)czy rozbudowywać. Przykładowe wykorzystanie obiektu (np.obj_aplikacja)powinno odbyć się na przykład w takisposób:main.cppInt main(){obj_aplikacja App;App.pokaz_menu();...}Cała pętla główna, powinna być umieszczona wewnątrz objektu.Przykładowo:objekt_aplikacja.h1z3class obj_aplikacja{private:void rysuj_okno(x,y,rozm);void czysc_okno(x,y,rozm);public:void okno_zapyt(x,y,tytul);void okno_info(x,y,tytul);void pokaz_menu(void);}2. Organizacja koduDeklaracje (funkcji, obiektów, itd.) powinne znaleźć się w osobnym pliku *.h. Ciało obiektów i funkcji powinne być wodpowiednim pliku *.cpp zaś w pliku głównym main.cp powinno się znaleźć tylko przywołanie i deklaracjeodpowiedniego obiektu.main.cpp → klasa.h + klasa.cppPOMOCE:Poniżej przykładowe kody i funkcje mogące pomóc w realizacji zadania.1. Kolory w konsoliWymagane jest dołączenie windows.h. Przykład do sprawdzenia:#include <iostream>#include <windows.h>using namespace std;int main(){HANDLE hConsole;int k;hConsole = GetStdHandle(STD_OUTPUT_HANDLE);for(k = 1; k < 255; k++){SetConsoleTextAttribute(hConsole, k);cout << "Wariant " << k << endl;}return 0;}2. Obsługa wyświetlania liczbPrzykładowo jak zapewnić stałą długość wyświetlanej liczby typu double? Do tego służy np. iomanip.h.(std::setprecission, std::fixed) ,Przykład:2z3#include <iostream>#include <iomanip>using namespace std; // std::cout, std::cinint main(){double a=12;double b=6/7;setprecision(2)cout << "a= " << a << " b(fix)=" << fixed << b <<endl;}return 0;}3. Obsługa pozycji w konsoliW celu precyzyjnego wyświetlania tekstu, obiektów czy całych okien warto jest posłużyć się współrzędnymi w okniekosoli. Dla przykładu – poniższa funkcjasetXY(int,int)może to ułatwić.#include <windows.h>#include <iostream>using namespace std;void setXY(int, int);int main (){setXY(3, 5);Cout<< "tekst w pozycji (3,5)";return 0;}void setXY(int x, int y){COORD coord={x, y};SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);}3. Znaki do rysowaniaOprócz zwykłych (=,-,/,\,[,],+,_, itd…) można użyć funkcjichar(kod_ascii) –np.:/3z3
[ Pobierz całość w formacie PDF ]