Semestr jesienny 2020/21

Konsultacje:
śr., czw. 13:15-14:00 (MS Teams)
Wykład:
pon. 18:15-19:45 (MS Teams) wykład bedzie nagrywany
laboratorium:
śr. 14:15-15:45 (MS Teams)


Projekty na zaliczenie:

Projekt 1:

Napisz program, który będzie realizował bazę danych przepisów kulinarnych. Przepis powinien składać się z co najmniej: Nazwy potrawy (string), opisu potrawy (np. ze bardzo smaczna itp.) (też string), listy składników - powiedzmy nie więcej niż 20. Każdy składnik powinien mieć nazwę (string), ilość (double) i jednostka (string). Na przykład, jedna mała cebula czerowna to: cebula czerwona mała, 1, szt. 2 szklanki mąki to: mąka, 2, szklanki. Lista składnikow może być statyczna, i ich ilość powinna być zapisana. Przepis powinien też zawierać instrukcje przygotowania (string). Sam program powinien realizować listę dynamiczną. Powinno być możliwe ręczne wpisywanie przpisów oraz wczytywanie z pliku, oraz zapis do pliku. Program powinien realizować też inne typowe, podstawowe funkcje związane z listą: wypisz listę, dodaj przepis, może znajdź przepis na podaną litere. Proszę używać odpowiednio przeładowanych operatorów zapisu i odczytu do/ze strumienia.

Uwaga: Proszę używać tylko narzędzi które oficjalnie poznaliśmy.

Termin złożenia projektu: 6.12. - niedziela (włącznie)


Projekt 2:

Napisz program, który będzie zaktualizowaną wersją Projektu 1. Lista przepisów powinna być przy pomocy szablonu STL, np. vector. Lista składników w ramach przepisu też powinna być zrealizowana jako dynamiczna przy pomocy szablonu STL. Do poszczególnych przepisów powinny być dodane dodatkowe pola: czas przygotowania i czas gotowania. Lista powinna dać się sortować przy pomocy algorytmu STL. Powinien zostać przeładowany operator >. Na przykład sortowanie wg łącznego czasu przygotowania i gotowania. Powinna zostać dodana dodatkowa lista STL: lista książek kucharskich. Powinno być możliwe wczytywanie z pliku całej książki (jako elementu kisty książek).

Termin złożenia projektu: 31.01. - niedziela (włącznie)


Projekt 3:

Napisz program, który będzie ...

Termin złożenia projektu: ??? (włącznie)




Uwaga: projekty (w postaci pliku .cpp lub kompletu plików .hpp .cpp) proszę przesłać mailem swojemu prowadzącemu grupę laboratoryjną. Plik powinien zawierać wystarczająco dużo komentarzy, żeby prowadzący mógł go skompilować i przetestować. Proszę dowiedzieć się u prowadzącego, jakie szczegółowe kryteria oceniania będzie stosował. W trakcie pisania projektu jak najbardziej można się konsultować z innymi, ale każdy projekt powinien być napisany i przetestowany samodzielnie. Prowadzący po złożeniu projektu mogą zadawać pytania i wyjaśniać różne wątpliwości.



Tematy na laboratorium:

Lista 1 5.10.20 Lista 2 24.10.20 Lista 3 7.11.20


Materiały z wykładu:


Klasy Strumienie Stringi