From 22cf3e8401f9ab40ed48e54afae12b31656ff19f Mon Sep 17 00:00:00 2001 From: Haldrup-tech Date: Wed, 18 Sep 2024 11:50:07 -0400 Subject: [PATCH] Assign4 and lab4 --- csci218/Assignments/BMI.c | 58 ++++++++++++++++++++++++++++++------ csci218/Assignments/bmi.out | Bin 33768 -> 33912 bytes 2 files changed, 49 insertions(+), 9 deletions(-) diff --git a/csci218/Assignments/BMI.c b/csci218/Assignments/BMI.c index 1077169..bf84009 100644 --- a/csci218/Assignments/BMI.c +++ b/csci218/Assignments/BMI.c @@ -1,31 +1,70 @@ #include #include #include +#include int main(){ // Declare Variables + // Float values for calculations float bmi, weight, height, mostellar, duBois, boyd, lifeExpect; - char gender[15]; + + // Int values to store the result of the scanf fucntion + int weightResult, heightResult; + + // Char to store the gender with max length of 7 and a line string for formatting + char gender[7]; char line[] = "********************************"; + // Display Program Purpose - printf("%s%s%s\n", line, line, line); - printf("This program will calculate your BMI, Life Expectancy, and BSA(mulitple methods)\nwith just your weight(kg), height(cm), and gender.\n"); - printf("%s%s%s\n", line, line, line); + printf("%s%s%s*\n", line, line, line); + printf("*\tThis program will calculate your BMI, Life Expectancy, and BSA(mulitple methods)\t*\n"); + printf("*\twith just your weight(kg), height(cm), and gender.\t\t\t\t\t*\n"); + printf("%s%s%s*\n", line, line, line); + // Read in weight, height, and gender from user printf("Please enter your weight(kg): "); - scanf("%f", &weight); - printf("Please enter your height(cm): "); - scanf("%f", &height); + weightResult = scanf("%f", &weight); + while (weight <= 0 || weightResult != 1) { + while (getchar() != '\n'); + if (weight <= 0) { + printf("Bad Value: Weight must greater than 0! fmt: XX.X\n"); + } else { + printf("Bad Value: Please enter a decimal input! fmt: XX.X\n"); + } + printf("Please re-enter your weight(kg): "); + weightResult = scanf("%f", &weight); + } + printf("Please enter your height(cm): "); + heightResult = scanf("%f", &height); + while (height <= 0 || heightResult != 1) { + while (getchar() != '\n'); + if (height <= 0) { + printf("Bad Value: Height must greater than 0! fmt: XX.X\n"); + } else { + printf("Bad Value: Please enter a decimal input! fmt: XX.X\n"); + } + printf("Please re-enter your height(cm): "); + heightResult = scanf("%f", &height); + } + // Make sure correct values for gender are entered while (1) { + // Read in gender from user printf("Please enter your gender(male or female): "); scanf("%s", gender); - if (strcmp("male", gender) == 0 || strcmp("female", gender) == 0) { + + // Loop through all chars in gender and convert to lower case + for (int i = 0; i < strlen(gender); i++) { + gender[i] = tolower(gender[i]); + } + + // Check if gender is valid + if (!(strcmp("male", gender)) || !(strcmp("female", gender))) { break; } else { - printf("Bad value: Please enter either male or female all lowercase\n"); + printf("Bad value: Please enter either male or female\n"); } } @@ -43,6 +82,7 @@ int main(){ boyd = (0.0003207 * pow(height, 0.3)) * pow((1000 * weight), (0.6721 - (0.0188 * log10(weight)))); // Check if overweight and gender to select correct life expectancy message + // Only need to check one since the input screens to just two options if (strcmp("male", gender)) { if (bmi > 25) { lifeExpect = 81.4; diff --git a/csci218/Assignments/bmi.out b/csci218/Assignments/bmi.out index bc1b7eb5ba7166d619187b7e97e6c3f4ad1ef36f..fff20ca0e09bf119eac2bec86dfde03d39f83a2d 100755 GIT binary patch delta 2294 zcmb7FeN0nV6hE)8#qyOD#L*ROA7G#bQ2{HZwD=gIL){d03+U#cYNbRzTrGZVnihyd zlNourI5AsBSzK1OWYMq>oFr;c(>P{^Zbs*_b(>l0G{(hfD5hcOzP9oa{@D$ObIPK#XWvC@6 zN)&B7KqBhu4uHetbymZ~(-manh%XS<&nI41t5C3?ZvXIV$>?W)xEc;UzVR>dvj&Mz zPgK&i*&GJSkwAw+7odc6EJUHUABlUJK|yLPFiv)|W1)8w2SOFBfH|k-GCnA0_@K8_ zGk(4zeaQ0{jQN*BkOAnu#aoFM{AfM3A@}ds$N$peFBYDpzCsUsjpXgKhBDh$FA%h@ATWm5~xQp&N?hk_wS~>0Vc>-S|j6)=$4yN|=L5c7L@$(}u ziu>suIXM)_fuILtC?3e6ClKxjim^E+ysZNm<3)cU3(rL3J;Os9m&FHl)B%k;16|ZR zvWf0}k{5~ZM?d#?iO`RUzmhX0N_m1&G=3suCFy3ZQMiIMH1ld?_u)dO+CLvc9{fgh z&M4~D-_aPp9&tXzD6MMzk#xfo6;|RJ9`?;)20Qe0ZWcQY;LjG1K?r0h^cyKm0^Y1W;vCFE zAt^U0rM+e$k8Ck1xpA|wh_Z}KW#cUz&a5gE7LwzpeCewLlbz&>X|oz{t<#E3J_r)c zO>v$*ZJtY1=4M%L9OTB5Bj)Ou*zoihb74#@9l0c-Y>}(R*4SWoa?NeKom_*%W_8*e zoYQV?;g)4^JDQzFuC{hbZ5&iL*{r*5oUMiWt=x9ow#H^_6W7?XtIauApu?6Qj@{qd z=HT{T6FG#cQQRo;B+30s##{KZHK80pc@G7TEOQFwE0jwZ z1*FBTo7Z4-ZnIk*gzH$GQ@7jcXtK3HowK#6b+64qgK#i)kW4i#j|JaOa@(zupqg;2 z#TTl5g=;kp6aQ!+zwR%sZNQh}`Yq`Etv}V_k|bzOBlf$XeI_yDugE=tTe5C+-yG zb-8tIiHhNe_LOs;(f+i-82#fX9X{K&!2Y!#-8|KBP@`Mj^}U~L@2p=`SChTI@>Zq$ g@um9*o*35H@;Ch)`|QqzPx4+qz9nEkf_Emsf3(?!c>n+a delta 1466 zcmZ8hZ%kWN6hHU9Rw`qG(J`9B+VaN%GL)e!rGMCSm=1Mu9Wpn^5LkxFqLB`kxR8xP zP1Iz|dUw$X7Ac9w_JcUbl99-e1QRg>9egoPgKrwMZqW}*8bi&V_1yR9B)jQ(=bqm= z=XXv|?!Bw;3h{S@(DmG~1AqWPwGKbH!VdadeeQx=Lz^`a7Tm0c)aThe8Z52B+!h(t z6|e}g<+iVR8wAbW?qSPhg-Gm6p@3wtMZqP+MV2WRSIlF;699o6)bjx>j+!T#P+$Nc z6P1j*n;j6X#K0@)BWP#S{YDlQ%X6|5FIS~npIoLJ{U^E_&)#FQ=n%pVX4XBwZ8ZR3 zK!OSsUVszwwH1ZizCnNw$t2a)?wE||eiWQ3QCw2`HpG-UfnwrCgI-D+h?I;5t*c)* z6i!8chb6fLk^~@B6xd0Nb%A9)fuVQ_d)96)M#>QA>{Kp;B#v@OwM*?(0UjbH@n<+WSNXCmlzErL;d|%={W? z{)f`VN}Y5L{XFMpDwQ9ZYng`GVvC#&N+hW5Nlv@v3XhT65tkHV>abwF5PZ(+>-P1> zyvpdBS4BVdDq!fa$VOyXW8*j(_bM#SVwBVvkd9g+V!?E}k{UPaRo+|AH@wDI0LnP> zHJ*<)0V%V9p~%8J-7n|=U+5$z3cSsHN#SJT`(9NO>Q#!ec3XSW4HT?vV9q?P&K*a| z$JN7Howb|g7PzX%p~RcDa@=N7=XMj{@aaW|hnwbKh@RlRsLnr~JB%h5#Y;965syq0 zKE)R4Dyw$oZO?Mk8pPEy_uTYx9@C&rH;zXJPZ%C7oam5;mNUQ0q)T{c5j%&Qr|YSi z#avao=VB?5-EbXdhup6UnZUkr`$#4;dukre1mEkO9X*{kcHLtV9(je`^4KPQ_06PG zeFO@TnXmPl-%I{TNT|8sQ}F$+?#UOWiCrwBGi|gX=0oX5F|bX6y_*i>BXJz17v*h~ z3+zmwf?W(es$Opl1JVY$Tyt&_!hS{uti@qJhcqyos5e(_Y71i7c~6sART58{0eRleO@J(XXSUVosx@99N8jjr?9G$C zpr09=@qKlr^31n^4sejH^)Ue*5B*`DOZJCXo3eR+Xx99IY z`uG=jK0B>US@LWn8}y-