From 9e2107163487a1c9b68c3b142b2079500e366714 Mon Sep 17 00:00:00 2001 From: pro100ton Date: Sat, 7 Dec 2024 11:02:37 +0300 Subject: [PATCH] Add solutions for section 2 projects --- c_modern_approach/Fundamentials/README.md | 1 + .../Fundamentials/exercises/{ => 2}/s_2_1.c | 0 .../Fundamentials/exercises/{ => 2}/s_2_2.c | 0 .../Fundamentials/exercises/{ => 2}/s_2_4.c | 0 .../Fundamentials/exercises/{ => 2}/s_2_7.c | 0 c_modern_approach/Fundamentials/exercises/2_1 | Bin 15960 -> 0 bytes c_modern_approach/Fundamentials/exercises/2_4 | Bin 15960 -> 0 bytes .../Fundamentials/projects/2/main.c | 108 ++++++++++++++++++ .../Fundamentials/projects/2/res | Bin 0 -> 33696 bytes 9 files changed, 109 insertions(+) rename c_modern_approach/Fundamentials/exercises/{ => 2}/s_2_1.c (100%) rename c_modern_approach/Fundamentials/exercises/{ => 2}/s_2_2.c (100%) rename c_modern_approach/Fundamentials/exercises/{ => 2}/s_2_4.c (100%) rename c_modern_approach/Fundamentials/exercises/{ => 2}/s_2_7.c (100%) delete mode 100755 c_modern_approach/Fundamentials/exercises/2_1 delete mode 100755 c_modern_approach/Fundamentials/exercises/2_4 create mode 100644 c_modern_approach/Fundamentials/projects/2/main.c create mode 100755 c_modern_approach/Fundamentials/projects/2/res diff --git a/c_modern_approach/Fundamentials/README.md b/c_modern_approach/Fundamentials/README.md index 9bde271..ee24be2 100644 --- a/c_modern_approach/Fundamentials/README.md +++ b/c_modern_approach/Fundamentials/README.md @@ -11,3 +11,4 @@ After Preprocessing app goes to compiler where app is being translated into mach Linker combines object code from step 2 with additional code needed for final executable. This code includes library functions P.S.: *Сори за микс языков, лень было переключаться в процессе* +sdfaksdhfk diff --git a/c_modern_approach/Fundamentials/exercises/s_2_1.c b/c_modern_approach/Fundamentials/exercises/2/s_2_1.c similarity index 100% rename from c_modern_approach/Fundamentials/exercises/s_2_1.c rename to c_modern_approach/Fundamentials/exercises/2/s_2_1.c diff --git a/c_modern_approach/Fundamentials/exercises/s_2_2.c b/c_modern_approach/Fundamentials/exercises/2/s_2_2.c similarity index 100% rename from c_modern_approach/Fundamentials/exercises/s_2_2.c rename to c_modern_approach/Fundamentials/exercises/2/s_2_2.c diff --git a/c_modern_approach/Fundamentials/exercises/s_2_4.c b/c_modern_approach/Fundamentials/exercises/2/s_2_4.c similarity index 100% rename from c_modern_approach/Fundamentials/exercises/s_2_4.c rename to c_modern_approach/Fundamentials/exercises/2/s_2_4.c diff --git a/c_modern_approach/Fundamentials/exercises/s_2_7.c b/c_modern_approach/Fundamentials/exercises/2/s_2_7.c similarity index 100% rename from c_modern_approach/Fundamentials/exercises/s_2_7.c rename to c_modern_approach/Fundamentials/exercises/2/s_2_7.c diff --git a/c_modern_approach/Fundamentials/exercises/2_1 b/c_modern_approach/Fundamentials/exercises/2_1 deleted file mode 100755 index 6d97fba23a21143a2d4e1b5ead5082c46684cb06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15960 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 x4)ef11t(U$<^0L-$_j8YcCY?fx +#include + +float calculate_volume(void) { + float radius; + printf("Hello from calculator\n"); + printf("Please, enter the radius of circle in meters: "); + scanf("%f", &radius); + float division = 4.0 / 3.0; + float volume = division * M_PI * radius * radius * radius; + return volume; +} + +float tax_calculator(void) { + float rubles, cents; + printf("Please, enter the rubles amount: "); + scanf("%f", &rubles); + printf("Please, enter the cents amount: "); + scanf("%f", ¢s); + float result = (rubles + (cents / 100)) * 1.05; + return result; +} + +void change_calculator(void) { + int rubles; + printf("Please, enter the rubles amount: "); + scanf("%d", &rubles); + /* In Russia, we have following bills: + * 5000 rubles + * 2000 rubles + * 1000 rubles + * 500 rubles + * 200 rubles + * 100 rubles + * 50 rubles + * 10 rubles + * 1 ruble - we actually does not have 1 ruble bill, but for the sake of + * project we have + */ + // Calculate for 5000 + int _5k_bills = rubles / 5000; + // Remove this amount from total + rubles = rubles - _5k_bills * 5000; + // Calculate for 2000 for remeaning + int _2k_bills = rubles / 2000; + // Remove this amount from total + rubles = rubles - _2k_bills * 2000; + // Calculate for 1000 for remeaning + int _1k_bills = rubles / 1000; + // Remove this amount from total + rubles = rubles - _1k_bills * 1000; + // Calculate for 500 for remeaning + int _500_bills = rubles / 500; + // Remove this amount from total + rubles = rubles - _500_bills * 500; + // Calculate for 200 for remeaning + int _200_bills = rubles / 200; + // Remove this amount from total + rubles = rubles - _200_bills * 200; + // Calculate for 100 for remeaning + int _100_bills = rubles / 100; + // Remove this amount from total + rubles = rubles - _100_bills * 100; + // Calculate for 50 for remeaning + int _50_bills = rubles / 50; + // Remove this amount from total + rubles = rubles - _50_bills * 50; + // Calculate for 10 for remeaning + int _10_bills = rubles / 10; + // Remove this amount from total + rubles = rubles - _10_bills * 10; + // Print result + printf("5000 bills\t%d\n", _5k_bills); + printf("2000 bills\t%d\n", _2k_bills); + printf("1000 bills\t%d\n", _1k_bills); + printf("500 bills\t%d\n", _500_bills); + printf("200 bills\t%d\n", _200_bills); + printf("100 bills\t%d\n", _100_bills); + printf("50 bills\t%d\n", _50_bills); + printf("10 bills\t%d\n", _10_bills); + printf("1 bills\t\t%d\n", rubles); +} + +void load_calculator(void) { + float loan, interest_rate, monthly_payment; + loan = 20000.00; + interest_rate = 6.0; + monthly_payment = 386.66; + float monthly_interest_rate = (interest_rate / 100) / 12; + loan = loan + (loan * monthly_interest_rate) - monthly_payment; + printf("LN\t%.2f\n", loan); + loan = loan + (loan * monthly_interest_rate) - monthly_payment; + printf("LN\t%.2f\n", loan); + loan = loan + (loan * monthly_interest_rate) - monthly_payment; + printf("LN\t%.2f\n", loan); +} + +int main() { + /* float volume = calculate_volume(); */ + /* printf("%f", volume); */ + + /* float tax = tax_calculator(); */ + /* printf("%.2f", tax); */ + + /* change_calculator(); */ + + load_calculator(); +} diff --git a/c_modern_approach/Fundamentials/projects/2/res b/c_modern_approach/Fundamentials/projects/2/res new file mode 100755 index 0000000000000000000000000000000000000000..405feceda022bfea9ee09d3e1f91604a4fbd1ae2 GIT binary patch literal 33696 zcmeI5Yiv|S6oBXM7TDHm3pG%zwzp!n8094&3+QgVfBdC$0(Lmx4AU=rk(V}ZTXYRDUyIUY?;tz99 zGCOk~bMBe%&fR}=?=S{ zM?${9M(Iq?*Ddo+mp1`*vzTi|JLl2B!@hur`vQ$Yp{L%D#A0K;4KfMp={clJba-F) zK;wLA&AJ+1yJq!T^IO+;_@b-Pofm|g)l>0Gsc(~EVoJB3wk%`cum|Jwnw2szX$pj z=&yiQ56vuCV|txtKaO|6e7SW~TvvgnLc@JFHyRGj_4{0NJ*|EZ=qN?du#WJHXMQbl zRBU+JwczQ)+rFB;0BkBW1sY>{Fvt^Q!GFsASvP}qj46!EVSSjVK5ZZ2b?<K8)G-t^isLSVqK#&`uVg8|*(a)AT@>Y5g-CY zfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0{|{DDs+-v>^jQkqEygcZ z=qilQTA7|GV8_c9HZ1H7i}dTj?p^b7~439s-}J@4H3% zPcS|;#Xc-*pJmj39&B-_XD`%gyEoymK;5N!$*KS^Yflnt6xV{9 zPE1r&bEW<{*c1J{H|N0)hwaLNYZ9F$y{Pwe^4{57bBb(A_U1&tVavG?Gh%9GOzi|Q zTV;$@##l3Bx~gSNf3b0`{s%IzHPeVWQ^XEpJ!gyT2h;26%9SxQWXz1rm=%*{Oo5Ck zm>@=xF?lj3FEs{PoUvxVf%j=_f3;WYaI9~44=~8^^;YU_=!3Oq_Sv^Wm=(2o243^0eIm`SmZBh@-SLpMNO_}u)R`7{2(oE)+K z@n=2RcBCf>^&B1W$UUApe~(ro+3AEBII zyj=79gKA?a*rd9hes|RGj08hDtlqCV!`dyX7KmseHR9FOkkjLfhSgxB>h^`)eogfS z)FutQ;R=hf!0)!7t`1|krYnbQsFO#x*dcKf_}^Hi75?+<5}d2-l-RCRu; z3c;zdCJjPO+U;g#eu^Ta#N}44&Mup?pb;30GrQM9k7DleEH0jLw?mH&&!?l<#qanJ zp7+g#Ecqgnu$zt<=f~vH+t~OF8W8~^Km>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&I zhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&I zhyW2F0z`la5CI}U1c(3;AOim-0TnJ*4-MXdA-?Tx{tUP2B?02w-w+}MzXQ(f@HKP0 zP{j|Yf!q68iM{soM8NZljjU7&*SB2@Z#wlxZuFkIHcbo zQ5L)KP3}>stQ)k^TCWBh;8EI{1$Ki)pxOX_+%72DjCJIz7V&9%!*a>rthjV5AuY@X z`BQIs&J8|3eeaQHcV6MUX5`az1LqcR|3I&L|Kz*P-BaJ(w(p&W;0I?Lk7k`XetffK zO~a&-_WkW!wtsnO=kh0SdHr(!*xDx|r%oSubaU;?TN4LPd>J_Q@W+og@4tE0N&6SS zy}D_;)3N`NO`mrSWbIn=S_kvBABp?BS_h{3H~g@2VMpuq#O3n;TmMMmYcD*rZ`F^k dtG1Q4cI{d-Z2QIkSZmSO+5JQ77akcn`4`u*jr#xq literal 0 HcmV?d00001