{"id":358,"date":"2019-10-03T14:52:57","date_gmt":"2019-10-03T12:52:57","guid":{"rendered":"http:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/?page_id=358"},"modified":"2019-12-16T14:53:43","modified_gmt":"2019-12-16T13:53:43","slug":"laboratorium-5","status":"publish","type":"page","link":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/?page_id=358","title":{"rendered":"Laboratorium 5 &#8211; struktury"},"content":{"rendered":"\n<ol class=\"wp-block-list\"><li>(1p.) Zdefiniuj struktur\u0119 pozwalaj\u0105c\u0105 przechowywa\u0107 dane pojedynczego elementu wybranej bazy danych np. katalogu ksi\u0105\u017cek w bibliotece, spisu samochod\u00f3w w autokomisie, zestawienia miesi\u0119cznych wydatk\u00f3w studenta, itp.Nast\u0119pnie zdefiniuj N-elementow\u0105 (pseudo-dynamiczn\u0105) tablic\u0119 w\/w struktur pozwalaj\u0105c\u0105 przechowywa\u0107 dane wielu element\u00f3w (ale nie wi\u0119cej ni\u017c N) z dodatkowym licznikiem informuj\u0105cym o ilo\u015bci wpisanych danych. <\/li><li> (2p.) <strong>Napisz funkcje pozwalaj\u0105ce wczytywa\u0107 i wy\u015bwietla\u0107 <\/strong>zawarto\u015b\u0107 bazy.<strong><br \/><\/strong>Uwaga: w\/w tablice lub struktury powinny by\u0107 przekazywane jako parametry funkcji ! <ul><li>(+1p.) zdefiniuj operatory strumieni <em>istream<\/em> i <em>ostream<\/em>.<\/li><li>(+1p.) napisz funkcje do zapisywania zawarto\u015bci bazy do pliku i wczytywania z pliku. <\/li><\/ul><\/li><li> (3p.) <strong>Napisz funkcj\u0119 pozwalaj\u0105c\u0105 wyszuka\u0107<\/strong> w bazie elementy o zadanych parametrach np. samoch\u00f3d marki FIAT, rocznik nie starszy ni\u017c 1990,&nbsp; o cenie z zadanego przedzia\u0142u. <\/li><\/ol>\n\n\n\n<h3 class=\"has-text-align-center wp-block-heading\">Dodatkowe\n\t\t\tzadania &#8222;dla zaawansowanych&#8221;: \n\t\t\t<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li>(2p.) <strong>Napisz funkcj\u0119 umo\u017cliwiaj\u0105c\u0105 edycj\u0119<\/strong>\/poprawianie danych pojedynczych element\u00f3w bazy. Np zmian\u0119 ceny samochodu w autokomisie, aktualizacj\u0119 adresu w bazie danych personalnych, itp<\/li><li><strong>Napisz funkcj\u0119 umo\u017cliwiaj\u0105c\u0105 interaktywne przegl\u0105danie<\/strong> zawarto\u015bci bazy.   <br \/>Uwzgl\u0119dnij przypadki, gdy dane zapisane w bazie nie zmieszcz\u0105 si\u0119 na jednym ekranie (np. katalog 1000 tytu\u0142\u00f3w ksia\u017cek i nazwisk autor\u00f3w).<ul><li>(2p.) w najprostszym przypadku (przegl\u0105danie bazy od pierwszego do ostatniego elementu) wystarczy wprowadzenie tzw. stronicowania,<\/li><li>(4p.) najbardziej uniwersalnym rozwi\u0105zaniem jest umo\u017cliwienie &#8222;sterowania&#8221; przegl\u0105daniem za pomoc\u0105 strza\u0142ek na klawiaturze tzn:<ul><li>klawisz&nbsp; &#8222;&lt;-&#8221;&nbsp; oznacza: wy\u015bwietl poprzedni element bazy<\/li><li>klawisz&nbsp;&nbsp; &#8222;-&gt;&#8221;&nbsp; oznacza: wy\u015bwietl nast\u0119pny element bazy<\/li><li>klawisz&nbsp;&nbsp; &#8222;ESC&#8221; oznacza: zako\u0144cz przegl\u0105danie<\/li><\/ul><\/li><\/ul><\/li><\/ol>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h3 class=\"has-text-align-center wp-block-heading\">Zadanie alternatywne<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li>     (6p.) Zdefiniuj struktur\u0119 definiuj\u0105c\u0105 liczby u\u0142amkowe (u\u0142amki  zwyk\u0142e) oraz funkcje operuj\u0105ce na niej. Powinny by\u0107 zdefiniowane <strong>funkcje  <\/strong>do <strong>wczytywania warto\u015bci<\/strong>, <strong>wy\u015bwietlania <\/strong>(+1p. za zdefiniowanie operator\u00f3w  strumieni), czterech <strong>dzia\u0142a\u0144 <\/strong>arytmetycznych (+0,5p. za zdefiniowanie  operator\u00f3w) oraz<strong> skracanie u\u0142amka<\/strong> i <strong>wydzielania cz\u0119\u015bci ca\u0142kowitej<\/strong>.  Przydadz\u0105 si\u0119 te\u017c pomocnicze funkcje: <strong>NWD<\/strong>, <strong>NWW <\/strong>i sprowadzaj\u0105ce do  wsp\u00f3lnego mianownika.<\/li><\/ol>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\n\/\/alg. Euklidesa\nint NWD(int a, int b)\n{  int pom;\n\n  while(b!=0)\n  {\n    pom = b;\n    b = a%b;\n    a = pom;  \n  }\n  return a;\n}\n\n\/\/lub rekurencyjnie\nint NWD(int a, int b)\n{\n  if (b == 0)\n    return a;\n  return NWD(b,a%b);\n}\n\n\/\/NWW\nint NWW(int a, int b)\n{\n  return a*b\/NWD(a,b);\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"http:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/?page_id=452\">Przyk\u0142ad z operatorami<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>(1p.) Zdefiniuj struktur\u0119 pozwalaj\u0105c\u0105 przechowywa\u0107 dane pojedynczego elementu wybranej bazy danych np. katalogu ksi\u0105\u017cek w bibliotece, spisu samochod\u00f3w w autokomisie, zestawienia miesi\u0119cznych wydatk\u00f3w studenta, itp.Nast\u0119pnie zdefiniuj N-elementow\u0105 (pseudo-dynamiczn\u0105) tablic\u0119 w\/w struktur pozwalaj\u0105c\u0105 przechowywa\u0107 dane wielu element\u00f3w (ale nie wi\u0119cej ni\u017c N) z dodatkowym licznikiem informuj\u0105cym o ilo\u015bci wpisanych danych. (2p.) Napisz funkcje pozwalaj\u0105ce wczytywa\u0107 i [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":214,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","footnotes":""},"class_list":["post-358","page","type-page","status-publish","hentry"],"coauthors":[],"author_meta":{"author_link":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/?author=1","display_name":"Tomasz Babczy\u0144ski"},"relative_dates":{"created":"Opublikowano 7 lat temu","modified":"Zaktualizowano 7 lat temu"},"absolute_dates":{"created":"Opublikowano 03.10.2019","modified":"Zaktualizowano 16.12.2019"},"absolute_dates_time":{"created":"Opublikowano 03.10.2019 2:52 PM","modified":"Zaktualizowano 16.12.2019 2:53 PM"},"featured_img_caption":"","featured_img":false,"series_order":"","_links":{"self":[{"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=\/wp\/v2\/pages\/358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=358"}],"version-history":[{"count":3,"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=\/wp\/v2\/pages\/358\/revisions"}],"predecessor-version":[{"id":454,"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=\/wp\/v2\/pages\/358\/revisions\/454"}],"up":[{"embeddable":true,"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=\/wp\/v2\/pages\/214"}],"wp:attachment":[{"href":"https:\/\/gromit.ict.pwr.wroc.pl\/~faster\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}