Przychodnia 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę Osoba.

Podobne dokumenty
Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

1. Opis ogólny. 2. Opis techniczny. 3. Wymagania techniczne

Programowanie obiektowe

Programowanie obiektowe

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

W powyższym kodzie utworzono wyliczenie dni tygodnia.

Programowanie obiektowe

Dokumentacja SMS przez FTP

Egzamin z Podstaw informatyki i programowania 2007/2008

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Wykład 5 Okna MDI i SDI, dziedziczenie

Języki programowania imperatywnego

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Programowanie zaawansowane

UML a kod. C++, Java i C#

Podstawy obiektowości

Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać)

I. Interfejs użytkownika.

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Aplikacje w środowisku Java

Dokumentacja do API Javy.

Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.

Program dla praktyki lekarskiej

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Zasady programowania Dokumentacja

Języki programowania imperatywnego

Zadania z podstaw programowania obiektowego

WebMobile7 and Sello Integrator wersja 1.1.2

Klasy i obiekty cz II

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

JPK w programie Ewa - fakturowanie i magazyn

Program dla praktyki lekarskiej

Rozdział 4 KLASY, OBIEKTY, METODY

Programowanie obiektowe

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 1

Baza danych sql. 1. Wprowadzenie

Technologie i usługi internetowe cz. 2

Rozmiar pola (długość danych)

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Budowa i generowanie planszy

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Pliki wykład 2. Dorota Pylak

Tworzenie nowych pytań materiał dla osób prowadzących kursy

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2

Programowanie w języku Java

Zadania semestralne. Programowanie obiektowe sem. II, lato 2014/2015

Algorytmy i Struktury Danych. Anna Paszyńska

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

Podstawy i języki programowania

Aplikacje w środowisku Java

SystimPlus. Dokumentacja (FAQ) dla wersji: v

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Przed zaimportowaniem danych należy odpowiednio skonfigurować sposób interpretacji danych z zakładki [Ustawienie pliku importu]

Instrukcja obsługi DHL KONWERTER 1.6

Ćwiczenie 3 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

KOLEJKA (QUEUE) (lista fifo first in, first out)

1. Język JAVA. 1. Pierwszy program. 2. Kalkulator. 3. Klasy. 4. Dziedziczenie

BANKOWOŚĆ ELEKTRONICZNA. Opis formatu pliku przekazów pocztowych XCM 110_61. Ver

Programowanie obiektowe

PHP 5 język obiektowy

SZYBKI START. Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2. Szyfrowanie/odszyfrowanie danych 4

Typy wyliczeniowe Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Spis treści INTERFEJS (WEBSERVICES) - DOKUMENTACJA TECHNICZNA 1

Program do elektronicznej wymiany danych pomiędzy świadczeniodawcami a Narodowym Funduszem Zdrowia KS-SWD

Laboratorium 1 - Programowanie proceduralne i obiektowe

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Programowanie aplikacji na urządzenia mobilne

Instalacja i obsługa aplikacji MAC Diagnoza EW

Mechanizm dziedziczenia

Instrukcja połączenia z programem Compas LAN i import konfiguracji

Enkapsulacja, dziedziczenie, polimorfizm

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Instrukcja ewidencji i sprawozdawania informacji o pierwszym wolnym terminie.

Obiektowość mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012

Funkcje dodatkowe. Wersja 1.2.1

Mechanizm dziedziczenia

Laboratorium 7 Blog: dodawanie i edycja wpisów

Programowanie obiektowe

Kurs walut. Specyfikacja projektu. Marek Zając

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Instrukcja obsługi Multiconverter 2.0

Programowanie obiektowe i zdarzeniowe

void Pobierz(Student &a); void Wypisz(Student a); void Ustaw_zaliczenia(Student t[],int r); void Wypisz_najlepszych(Student t[],int r, float prog);

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

TECHNOLOGIA OBSŁUGI KONTRAKTÓW INFORMACJA O AKTUALIZACJI SYSTEMU ISO 9001:2008 Dokument: Raport Numer: 10/2016 Wydanie: Waga: 90

2. Korzystanie z systemu ewuś w aplikacji mmedica.

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:

System imed24 Instrukcja Moduł Analizy i raporty

3 Delegacje. 3.1 Tworzenie delegacji. 3.2 Skojarzenie delegacji z procedurą czy funkcją

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

QualitySpy moduł persystencji

Zadanie nr 3: Sprawdzanie testu z arytmetyki

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

Baza numerów Wersja 1.1

Dziedziczenie jednobazowe, poliformizm, tablice wskaźników na obiekty

Transkrypt:

Przychodnia 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę Osoba. W tej klasie wykonaj następujące czynności: a) dodaj pole imienazwisko typu string z mod. protected b) dodaj konstruktor z parametrem typu string, pobrany parametr należy ustawić jako pole imienazwisko. 2. Stwórz klasę Pacjent dziedziczącą z klasy Osoba. W klasie potomnej wykonaj następujące czynności: a) dodaj prywatne pola wiek (typu int) i choroba (typu string) b) dodaj konstruktor z trzema parametrami kolejno typów (string, int, string), pobrane parametry należy ustawić jako odpowiednia pola: imienazwisko, wiek, choroba; c) przesłoń metodę ToString() tak, aby zwracała informacje o Pacjencie np. Pacjent, imię i nazwisko: Jan Kowalski, wiek 50, choroba: grypa. 3. Stwórz klasę Lekarz dziedziczącą z klasy Osoba. W klasie potomnej wykonaj następujące czynności: a) dodaj prywatne pole specjalnosc typu string, b) dodaj konstruktor z dwoma parametrami typu string, pobrane parametry należy ustawić kolejno jako pola imienazwisko, specjalnosc c) przesłoń metodę ToString() tak, aby zwracała informacje o Lekarzu np.: Lekarz, imię i nazwisko: Anna Nowak, specjalność: internista. 4. Stwórz interfejs IPrzychodnia i dodaj w nim deklarację następujących metod: UstawLekarza(string imien, string specjalnosc) typu void DodajDoKolejki(string imien, int wiek, string choroba) typu void WykonajPorade() typ zwracany string WykonajBadanie() typ zwracany string CzasOczekiwania() typ zwracany int GenerujRaport() typu void

5. Stwórz klasę Przychodnia. Wykonaj w niej następujące czynności: a) dodaj prywatne pole lekarz typu Lekarz, b) dodaj prywatne pole pacjenci typu Queue<Pacjent> (generyczna kolejka odpowiadająca kolejce pacjentów czekających na lekarza) c) do klasy podepnij interfejs IPrzychodnia d) dodaj następujące metody - UstawLekarza(string, string) ustawia parametry dla pola lekarz, - DodajDoKolejki(string, int, string) dodaje do pola pacjenci obiekt typu Pacjent, parametry należy ustawić jako pola imienazwisko, wiek, choroba, - WykonajPoradę() metoda usuwa i zwraca pierwszy element z kolejki, we zwracanym stringu należy zrobić dopisek o wykonanej poradzie, przykładowy zwracany string: Wykonano poradę! Pacjent, imię i nazwisko: Jan Kowalski, wiek 50, choroba: grypa. - WykonajBadanie() metoda zwraca (bez usuwania) pierwszy element z kolejki, we zwracanym string należy zrobić dopisek o wykonanym badaniu, przykładowo string: Wykonano badanie! Pacjent, imię i nazwisko: Jan Nowaczyk, wiek 44, choroba: grypa. - CzasOczekiwania() zwraca liczbę typu int, która jest częścią całkowitą liczby elementów w kolejce podzielonej przez 8 np. jeśli w kolejce jest 16 osób, to 16/8=2 i tyle jest zwracane; jeśli zaś jest w kolejce 9 osób, to 9/8 = 1,125 to zwracane jest 1, - przesłoń metodę ToString(), tak aby zwracała w stringu w kolejnych wierszach informację o lekarzu, dane pacjentów z kolejki pacjenci oraz czas oczekiwania np. Lekarz: Jan Nowak, specjalność : okulista Pacjenci w kolejce: Pacjent: Antoni Kowalski, wiek 33, choroba: zaćma, Pacjent: Zofia Nowak, wiek 44, choroba: jaskra. Czas oczekiwania: 0.

- GenerujRaport() informacje pobrane poprzez metodę ToString() w tej klasie mają być zapisane w pliku tekstowym, nazwa pliku obowiązkowo ma mieć format: RaportGGMMddmmyyyy.txt, gdzie GGMM to godzina zapisana w formacie 24-godzinnym, ddmmyyyy data, wartości mają być pobrane aktualne z systemu, w nazwie pliku nie ma być spacji czy dodatkowych znaków, - dodaj metodę CzyLekarz() bez parametru, typ zwracany bool, zwraca ona true jeśli pole lekarz w klasie nie jest puste (różne od null); zwraca false w przeciwnym wypadku. 6. Zrób aplikację WPF lub konsolową do przetestowania metod i klas z punktów 1-5. Logika aplikacji: - przychodnia ma zawsze jednego lekarza, ustawienie danych lekarza powinno być wywoływane jako pierwsze, ma być sprawdzone czy pobrane stringi nie są puste, dopiero wtedy ma być opcja na dodawanie pacjentów do kolejki - dodawanie pacjentów ma sprawdzać czy wprowadzone stringi nie są puste i pole wiek ma być liczbą dodatnią mniejszą niż 120 (jeśli jest błąd ma być komunikat dla użytkownika) - wykonanie porady lub badania powinno wyświetlić komunikat ma MessageBoxie lub konsoli używając odpowiedniej metody - generowanie raportu powinno poza wywołaniem metody wyświetlić komunikat o pomyślnym zakończeniu tego procesu Punktacja: Polecenie 1-4 po 1 pkt Polecenie 5 2pkt Polecenie 6: +1 pkt za poprawne działanie kontrolek (tylko dla WPF) +1 pkt za poprawny algorytm aplikacji przechodzenia do kolejnych etapów (tylko konsola) + 1 punkt za obsługę możliwych wyjątków przy zmianie typów i usuwaniu elementów z pustej kolejki + 2 za logikę aplikacji

Przykładowy screen WPF: Przykładowy screen (konsola):

Diagram UML: