From 4db9e10dd6aee8caaaa7371635632e6abe479e1a Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 12 May 2026 17:10:45 +0200 Subject: [PATCH] gotowe --- .../programowanie/laby/lab10/out/zad10 | Bin 29592 -> 29880 bytes .../programowanie/laby/lab10/zad10.cpp | 36 +++++++++--------- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/uczelnia/2_semestr/programowanie/laby/lab10/out/zad10 b/uczelnia/2_semestr/programowanie/laby/lab10/out/zad10 index 3e511f659726f72b5fbe20a11644e519b3b39a5f..30a9e3c2f45a067859eadc05d69fc23c1a029d74 100755 GIT binary patch delta 8706 zcmZ`<3wTsTmacn~?xd6MBpm{s5FVXC-XRYlB&cWy2y`UDU;v}wrX!CH0(nRf(AAEE zxMU+3JU$pd*9nfF;;1VUA3+f_J_dBhF}O3|unbD@Tcuk-BeD)K?)3iW-m2L4XyvOu zb^dee)Tyddb?es6?$cU-Q0qxe?#UBI@|Z;QuiKUXbX;AE$=0RpI$jj_zU1Cdp=7Pd z?~XNvii#wY*FdbusS8X#b=i-pu$X+Tq^h0{nCk^jgIThJKFX@xWJv(|P_nMOpnVT7hEITXGQMMyJRI)bLKDJu&pK?&8BKK^xJ3``Jz*` zEnKqnLdglqDD6|)746bO#_zwfOnb}F9ft0!2HIetHlwT?wGYEvqqe1Xr1U#w(PBmK zlMUNr4NLnhsam;F8bawA!_Ir;v=(b$Q>C?-O6sGj!A)js#b``n|@@dbXsGrX{m8d%bJd=+gYK$ zwQTjejT@S)Ztv@lc~7GcZBuEpt0w%m`eVOMo?Id zQjCbjRL7wlZ{SgwU(1)5tVfrktQt5_!amkr(`R!e^4*fj{kDA5j{lZNPaNE!28{ya>I zL);~?*%u!LZx`K?Z#Vcj@tEYBEx((a;Odo20v zxin~x)wWZU-KFiOZ|ttL-Uw}<A!*GMiA!tVNL*TLh`@Vf-+U4Hu(aQ7;#8bq z^ZSZTkJ=)12TM%6GXmc$ZEugj-36w8PXz9f`0fb2#KirgH$pHdE9{NHhb7)0fe%QB z1|o1F^^Zj0brK&maGH^r>^v5sGDMY$t~8%A&}jBd#lip`O)Q_KB9=FMepJY3uBeml zMB*y?7*C=pNiILvP_;IP)e6VeOd7Sq^wlgx;%YD=@j#e;el#M@Hh%kM=lIE&ZXo8* zKp3u$2P_#3!xLz{)0LJORx1!D9Zj{6^7B=ti(%5SbeGfRkmndf!9#nTu4=E;;b%Ga ztC3U}hRYqvkTrzi>gmk_A8E-hM{}4omR@kW=&EG9V{;f9N1wpU_>p#m*d8XelOx%c z<_MGS4wE`*RQP?jCPi4#32G2hG8Zkve# z@phdI+|Qz}cTla3t9^oIA~aK^<}Hx3vE%3&)Y+9l0@n^V?B5v6R=L5z$A5=Vy7L9f z(w$J?SukgID$##}tLX{_wzA#sH;2InUSoBy^!^So!R3)HZ7dJ$fk0W=hBB=91GB=+ zw6mEyX=XZ`8N-fU5ms-ZQSWrX8di*vqkTqaCS_;Ef6r#$WVM=^Uw0&V zySH%^d3UsFfv^9@1z{r|z{QVLoWmjpNXleGOieF!X8$36GE|k~}UUG0_ zEOyBs+^Fe#fxD`F*il9=Wf$4bVfDa=yQfoKR-X0-CFkVXPF*y7xNSPk%_-ELr}mtz zar59S`)~-$)!RMmt#Ynb#_uG71++isy2W>*65955L+lAucRwCI%wBB!OX9uVaI5pq z3ehnq@z91jY-Q(P(L&eZz|&0Sg87YMIc#Zd^pHC@#m}qYBi8GVI>bvI=1aU+TK+gg zh>oXBr0Zm8F!9jvnTG?97>3^oE=H4BjKKy;Cvca*KPBmn64yY3WfFW+(rPI@#{6{D zYL$Y?Qcx`UyCwZlw(5j@b>hT(1s%+tSjVMnYnm};@}F-7~#EFmTj5NZC>iA@pj*hh%QT`hw|N;mtM)QEPnOEk1IYs!lPnv z+K(%CrO?Cq6ZQTJG_RmqUsX)I3JOLIe+zfJs{)3v949BgrH=~6>jU4?R|OgR=S7BA zTclQ_spT=XR+(DE=Ob;Mr;iF#^WS5<>!i2)=8K0a(7*SCeLxZ?3f_h4ys|v_g(xm^Qh}M;OZ5O{XD$UI2N_mID zjZ}IaOm+8NvDG`OQoS<|cQ~rMQQ&Q?_bW;$P1Co1MR}zw^x<=~v$R%QL?=q0(?-+w zsgv}|LV96plm5h6N}9GX=50JW1DDRws%eG#vVuOEwj+MOXRhw&>yC-&+|VbXPzB0E zpN2v{P;oL8`Xe@*wxLj{7qsqlDC7q234}s>aW3ct-3-15^nTD@&|c7epf7_CfF1!I z1U&&d1Ud{l3>s~mD?*`EUHC;(Fcc~T;0E=8_JI08dqF!u_knI_`Ij)rIOs6*XJ7ya zl3viOK;36i53~pLe&)}GLeDdg5gY;)n2RKIWB}9ynuOV17fn~p$)1q=MJSXF4KX(+ ziOFPSECSJcA`}uD-90B$+e~}rxcmZxppK!exgGg?RL16QB*q>`z6eYm*BIM}d?7;b zU0}n&FeXM~y<^B{fvJlf#?B%KOucJSl!tZH`kx3zK7tGZ8CR9y`WA-fAz077>Q!sBLK(|(nC0|vvwF2yNW+zyequ3vyomJTup6u`G zKvlYp<7^$Kzm=Tx(&)RYWa|kad%vWFdHEJQ<}^UF<`r0Z_BWrUmU-D$KA}E-jvkvg ze(Wr~V5FzRr5?0jf_B-LBYz2n{!B;bjq|5l;~=Z#1Em|e0eSLqGzI18ZZLLh($<*! z^!u$lEIXqg;P}BAMQfXa>2IXLej^SdQDpQ_+@xbBOcN zmS-HI*J63pA?~wU-g1b3tK|WQcq7L0qC?fy^ zN|V;nOAB0daY2&JCy@#|wZN6E-UCf7%-1p;jI;gffVov69#+1ldLifB`& zHjD~BK_c->5hvsA2~@4VH^{cI*qPgC2uI#Jo2h!?#Ebx68Y4*)qD1a4YUAmru7%g= zC3gB?;RNS}cvBf?lvXYk(w^iS^uTh=@EB^ou3_vKZd2hqNv#oo9>r^sbzJ*-WW`oGP?s}xKz=hYb%nS^Y7Ix=8zqhaPF_@m(W+eJ zN>fp-Dt~~2hCA|9YF|{WRnVSA^V0&$mDHr;Fs|f{I4ZmOcHbw}C7FzU$!JAhWAQe^ zX$Ekoz}!{NR_bIcxu#ewmUdLws@QnN&`+e8dgu6aQb(;(6$7IYp_!Pu zQB5T%v30dLQl<5KSp#FC7L&4m8hA4BeVL}>pJj-im3H<;jD?4G)w}$+BEB=ww}DEt zR-J6+5O8iK@|r#Y3&E+66|p|4C`meS_EzmZ%G;?DS6h|BZ#D2l%3178yT>e#Y zgwrFmXtB$(A5!B(L)q_9VxQa*+dvk2%5AHQEY-%Hz>N+Cf!>{XyZf z^=7G`iAd!+RUh)QCGJ7EU^Ag-mN>P0Y0nau_6YyhJ_nq=6%iw(<4T5SxyNG~P$M(} z_)m@KCgA4Bod>COsVi-_)Dw6);51*Zj5E}<)Mfdr(yq=yFtR*u1EZ%ta8S2)NQl~2UUq*>rRL?NErHbRgxyL?_;joZP zS~xJGjC*CgL(NFzfG7RLo{(qY>B8-kijou=Gb5-^cQ#d`{8OX8TjG(s)_&kT8X{uf zcwgeV5%{O%Y;cw0pklN#TwuDOV&tFDWwxfC=4x&?Q0a}XG@L|?TI$(RVtqH>v{*|~9~C`e9|rrLUG}gRg^!H1X=PU5)i?L* zqes3bhU-z%ilu$UzO9<;XTEFp{YTR^dSSTmAHG$F+bb$9rGZt8Y1Yas;up+Zux1rL zgtn|%OI<5hXWmrb@e?0M!)w#Im908_u34R>)sxRtOgmN`>T6rwq|r;(aeemY-$&7a z9!S1tjI!$f8PshIsyxv;m^v*HsDtdt~wH7|?qdc=lwh21a8@ylEP{UH!i@TX!$=q%=mycCh(XZa|J+*@Lw_@s@Aj$l zpGTdlI=8BBWnW0!aaP-!n$(>y%;L3(*zv%&!e82UC0XpQq-~#+*h0w`7fPlit%S}t zI;nSc>?{pv3?A=POYEI@Jv|<6@ja3XhsEn4Z0DG6@s0(G(yz5#XUAlV?Wc5F%S-B! z=ueb}>VHqUR=>q|&GI0w3Hn!kM&>^Xuv-S!P4Q6=RJ&os9kt^z@Z5lhBOZc>ha(D4 zES^L>gYj^2TEzTK!EY+<)zbs2zuZwCBrYyI@n%g3o1}4|33vuco(T_(Ds0boYM_N! z?`V-&D(JDrAFRmBn>+{AfrYyDc-j%2YHR}PL`2D26P=EBY1_q-s7B z-D#rrbj)xWr_i8jXT03+VTY-8mZ}UFd16wvXw%-0+IUkkm$t=}Y9G=8{BEF&F)n8a zUb4_Xf0-5BekzN7nie#Sq#t6d=*~C~W!+oRbvdqGqu<%`sMnTFkJ~CKWzgwBl!(R@ z#9+vyFywI+ku%45U?lbn30bpHx^gbQ!Wo z7qh{0QSTb35SNYui~8g{sBpi;>!=~YcW(sVGRm^|MdC#kUKfFPSkWX2e}q8L-b7bGNVBF$X|d(5B?8|kJGUhQcNALs zTO;t65)0oEf%lf0_(HKOLU2?z&>4YyWdr*naKFU6Bk&rDAEp-*UDWMJ4fI541Z7LX z2s}et_D0}M67P$^JrWmkCr~phSNiMfdi9nAJkPf29ARV|F^$w7x&?`xk)_g#w>gbgB)i;d zD`V-}0aAmWPj=Bw$@YXT1JGFd1JLC_cML$|=?8e?jZT$a1Eh&moZ@oJ^M)Nv!S%J~F2ocU1gWtq-FKWy$Wus6}7$v8WdG1x{sL5wBjWHu<5< z^AZ~BH2EavxsRa^leaO?n}2Al$?MGXyo6eqpPcjk%>a0KLQST^*UWQPhWsXfj(M!q zB2;7Ye`TJhE#x)%PrxtPiaj|sFs=1$Fo*>7wZFx_g3B>NzP9Sai+rP^bMj%brqb7X zD!3gosIa?WJ$|OOhJ&lnqOa|(-XDQg1KVE%b@rDE=KQO{Ob}(0!*X`VhJCO&|FkIz zz}5yC!&w9TU53hjpY(SGOlZE;x`uv-W`a?!--nc2{R{#X&ToN1?tohGWv*Y>qa^Op zLDMYzY;ZU1&i^U6#xgN`xDIt0?b+b8AE`5QNc<*XK`(x&Gpj`Vl1^onI||vRZM#4- zOA;H6M=5KhFK!`@Wxn==tF(G#m0s`z{buC6k#Cx#x_umn-S!*LPtp5YpEq0FnLy>) zdD?24mz|q4?;5MU#cI>Wf7R^pwQb^g^R+i=!CP3?Zg|JhFSBz7m4SPkhc);eeVjdA zf5}ccIaxPuzY3T~FZd{GQ(6!Hj+4dLW)uzQ8Te8T-MgmSTO0rP%_*%Dv*Y0QsY=?A zQxP}BObFvudON33|7;MQ&&iKJ^1a#cBV#Eocck__d2@?Wn$RsXf#BW>W5)N?l3T6C z(xKdu_b##-SevES1qWzyXu|=?*u2aP3t?Mww}o+?PMX+S+Z9tTv}3+nEnK!#W}iKkfy&fmfVHI3ts^y){MHt zw{gPlT=lj7t=W!Y+zcjI{~c0(5gI>aY#K}c!m9M0m(lNy2jlPpneWHE1)(i~R8VxZ z@S&0z080|nCkkOM2%*d0D&BWvMSTUgaiw{hukCRpT*Vb?9+ja5Y5SgEyE@K zJPePFx!!OY8|ro6Qf|={eT9cs6^%;nyoBi5s)J@|zSehxFI=KMMZ@)$OY}iergnjv zii(mwkxJ>7lCYFkm`a`BM0)y$_7tZUZeqOkl&@_;-+m;TI1+jgNMgFU0|PhP*Lu~r z@rzVs=!Ft9AWx*5bkj|;F~E)2bn^|}RWeMk98C|GH0p=SC|L50{+D7}SK6Te(L*Oo zeewAh(R919w}^^8`Gddfl`9l4W#{N#PoDOBYV*w3R}@jm)1WUbrDZ z>CMqEYah|l@{xLGF}0UB=yzYB-trl-|ADn4c;pMJ9#f>>Sk(34nD#;BPw9EhJ5di@ zL*GW=>G?}I?7@cE@o6|*2igs~kJo~paQF$(mNVgSD)6SW;qX(~C_6!$SP%3G(4(L` zKzl%UgZ6@UgNk4{{2{0VGzgjjdJWVA>d-|%cu~n_hoBQdyFu$fkAf}-^@iY(anKK$ zKL-cQgJxid_MV3wXeVeB^IwF+TbaKQ4j%-~z$jhJY=&zv1yj z=yd`s0>&f6h4l{N$p@zH3>Z6(C;Loz#&wEc0L+L`6!4S=Or8ALI0abh04xnyKCl#O zoj5GuLv7IjDO=13<{yBu1<&$)U`tUKiv~M3>$fGu`0cTAwTA@Dw?cmM^Kh77Hc=(z zRU4yLLWM`N6Y{5E-*Ua2rdB7Ar#d?3IOLz7p`TS}6$;GjO-P)_u2+rHAA~Pp8F)BX zcATZn)gxkjs9ritzpl7=6R6NN|Nt2Rd4g>i- zM1_+IjXqSfseaO^82;>j{X9K6DR;sgRF5NIAho#tHS1I23`j$J_(1tP>y~Qb$g6sW9(-AshD=->F8(B z9FDAEt+5!#$_C@2UA&B=8qd*3?|BhNeu-)7H|esV=wrWa4PK_^K?rgLbb4xDKz(4T?{D?J-BP6NEvi1aM4`l$y!d)O^#P_nkktpV`~dD( zmLFtTd!$44VXHo5dnN9WpOwl|eX*&})+VXvQGrSQ7Rh6#&B9koTonJR$wOHId?z(f zfv<$P;4EmCd#G%By7OeY#qk9s7cVtTPsg>~`st-*8POKT-y~c*_+tb`65*3_n+1!T z>GbqcXU#npE1MH>lsO|kvqOF$@`=a24=t^ zhKf|bRFq^a1~~(`u<)#YsT~Gp1MVNN`mb+Pv|meHtwjni z#4Ce#Y3>}SyUMByPnG3N-IUx(>*u)2Rzu2>sAWSAxp?2SatU?OqdaHQ={YXzV=N+z!HITB;nnDX#oBwf%_sRs?B+Z87rA*?h`o*QFv89l!VT;t5EOE8^ zsm!QXxNK>u)c+Y$jAu*zgC|$w@2i%yMAGhbX_@>xeJmCMZdEOTY7E+e^XzT)TIOmD zUXuEeW2WQo!|aDPoVMNRa*qUW`W;G9wFf=|7cb||nn zwX+}yvy=ljTQxSLX8r48SAT84sx^F#8u!NUwd|}LR3UOOR*b7%53E_npu(@Od`%^a z0BQ)h^UGB0NW=SbC=Lygbfz|FoGE7+2IWwa?Q z^S@0i|JN|)wT36Ot``>G zs8jZRHT3HJvDC1*9I8q5*@9$xZSm}9ZA0khC3X6o+2r?@(uF1awHdTyNlw@9`~2GQ zyJn1^x@__4#)nrfd!VemapCf1_dYUrUDNW0=Ec$_J()y9n@VhI={;Favzj*R z_;2qgO(jn6ZI-U0J>*`6u1~g5MgNJMwVoB4Q*RpX;bG6$8`GR>aqPNv6`8dgHCck7}my-ySXxc>0K6< UO!du`wny)`xZxTNT`}VS0sArfdjJ3c diff --git a/uczelnia/2_semestr/programowanie/laby/lab10/zad10.cpp b/uczelnia/2_semestr/programowanie/laby/lab10/zad10.cpp index 6a39b0c..d4812c7 100644 --- a/uczelnia/2_semestr/programowanie/laby/lab10/zad10.cpp +++ b/uczelnia/2_semestr/programowanie/laby/lab10/zad10.cpp @@ -1,7 +1,6 @@ #include #include #include -#include #include #include @@ -17,11 +16,6 @@ public: os << adres.ulica << " mieszkania " << adres.nr_mieszkania; return os; } - - friend std::ostream &operator<<(std::ostream &os, Adres &adres) { - os << adres.ulica << " mieszkania " << adres.nr_mieszkania; - return os; - } }; class Pracownik { @@ -31,11 +25,14 @@ protected: std::unique_ptr adres; public: - virtual float obliczWyplate() = 0; + virtual float obliczWyplate() const = 0; + Pracownik(std::string imie, float pensja, std::unique_ptr adres) : imie(imie), pensja(pensja), adres(std::move(adres)) {} + virtual ~Pracownik() = default; - friend std::ostream &operator<<(std::ostream &os, Pracownik &p) { + + friend std::ostream &operator<<(std::ostream &os, const Pracownik &p) { os << p.imie << " zarabia " << p.obliczWyplate() << " i mieszka na " << *(p.adres); return os; @@ -43,12 +40,11 @@ public: }; class PracownikEtatowy : public Pracownik { - public: PracownikEtatowy(std::string imie, float pensja, std::unique_ptr adres) : Pracownik(imie, pensja, std::move(adres)) {} - float obliczWyplate() override { return pensja; } + float obliczWyplate() const override { return pensja; } }; class Zleceniobiorca : public Pracownik { @@ -58,14 +54,15 @@ public: Zleceniobiorca(std::string imie, float pensja, std::unique_ptr adres, float godziny) : Pracownik(imie, pensja, std::move(adres)), godziny(godziny) {} - float obliczWyplate() override { return pensja * godziny; } + + float obliczWyplate() const override { return pensja * godziny; } }; class Dzial { std::vector> pracownicy; public: - Dzial() {}; + Dzial() = default; void dodajPracownika(std::shared_ptr pracownik) { pracownicy.push_back(pracownik); @@ -73,7 +70,7 @@ public: float sumaWyplat() const { float sum = 0; - for (auto &pracownik : pracownicy) { + for (const auto &pracownik : pracownicy) { sum += pracownik->obliczWyplate(); } return sum; @@ -94,11 +91,11 @@ public: Kierownik(std::string imie, float pensja, std::unique_ptr adres) : PracownikEtatowy(imie, pensja, std::move(adres)) {} - float obliczWyplate() override { return pensja; } + float obliczWyplate() const override { return pensja; } - float sumaWyplatZespolu() { + float sumaWyplatZespolu() const { float sum = 0; - for (auto &pracownik : podwladni) { + for (const auto &pracownik : podwladni) { sum += pracownik->obliczWyplate(); } return sum; @@ -108,8 +105,8 @@ public: }; int main() { - Kierownik kierownik = Kierownik( - "Stasiek", 238943, std::make_unique("Wojska polskiego", 23)); + Kierownik kierownik("Stasiek", 238943, + std::make_unique("Wojska polskiego", 23)); kierownik.dodajPracownika(std::make_shared( "Bożena", 2500, std::make_unique("Żołnierska", 18))); @@ -118,6 +115,7 @@ int main() { "Adam", 6700, std::make_unique("Wiejska", 1), 30)); std::cout << "Pracownicy sumarycznie zarabiają: " - << kierownik.sumaWyplatZespolu(); + << kierownik.sumaWyplatZespolu() << std::endl; + return 0; }