From 372c51fcb29b392191e50fe0f0063ffe728fbb9f Mon Sep 17 00:00:00 2001 From: Haldrup-tech Date: Fri, 20 Sep 2024 11:42:26 -0400 Subject: [PATCH] added header printf out and 919class --- csci218/Assignments/BMI.c | 156 ++++++++++----------------------- csci218/Assignments/bmi.out | Bin 34008 -> 33736 bytes csci218/Lect/919class.c | 18 ++++ csci218/Lect/a.out | Bin 33464 -> 33464 bytes csci218/a.out | Bin 33800 -> 34168 bytes csci218/header2.c | 170 ++++++++++++++++++++++++++++++++++++ 6 files changed, 232 insertions(+), 112 deletions(-) create mode 100644 csci218/Lect/919class.c create mode 100644 csci218/header2.c diff --git a/csci218/Assignments/BMI.c b/csci218/Assignments/BMI.c index d10634e..f612099 100644 --- a/csci218/Assignments/BMI.c +++ b/csci218/Assignments/BMI.c @@ -1,11 +1,15 @@ +/* Name: Garrett Haldrup +BMI.c +Problem: Take in the weight, heightm, and gender of a user and calculate and display their BMI, Life Expectancy, and BSA score using multiple methods. +Certification of Authenticity: +I certify that this assignment is entirely my own work. +*/ + #include -#include #include #include #include - -void header(int width, int margin, char lineChar, char *headerTitle, char *inputMessage, int meslen); - +#include int main(){ @@ -18,12 +22,31 @@ int main(){ // Char to store the gender with max length of 7 and a line string for formatting char gender[7]; - char message[] = "This program will calculate your BMI, Life Expectancy, and BSA(multiple methods) with just your weight(kg), height(cm), and gender."; + + // declare and set bools to false as default + bool isMale = false; + bool isFemale = false; + bool overWeight = false; + // Display Program Purpose - header(80, 4, '*', "Purpose", message, (int)strlen(message)); + printf("***Purpose**********************************************************************\n"); + printf("* This program will calculate your BMI, Life Expectancy, and *\n"); + printf("* BSA(multiple methods) with just your weight(kg), height(cm), and *\n"); + printf("* gender. *\n"); + printf("********************************************************************************\n"); + + // Nice little space + printf("\n"); + + // Litte overview of the data input section + printf("***Data Input*******************************************************************\n"); + printf("* Please enter your weight in kg fmt: XX.X and your height in cm fmt: *\n"); + printf("* XXX.X, Male and Female are the only valid options for gender. *\n"); + printf("********************************************************************************\n"); // Read in weight, height, and gender from user + // Make sure correct values for weight is entered printf("Please enter your weight(kg): "); weightResult = scanf("%f", &weight); while (weight <= 0 || weightResult != 1) { @@ -37,6 +60,7 @@ int main(){ weightResult = scanf("%f", &weight); } + // Make sure correct values for weight is entered printf("Please enter your height(cm): "); heightResult = scanf("%f", &height); while (height <= 0 || heightResult != 1) { @@ -60,19 +84,26 @@ int main(){ for (int i = 0; i < (int)strlen(gender); i++) { gender[i] = tolower(gender[i]); } + isMale = !strcmp("male", gender); + isFemale = !strcmp("female", gender); // Check if gender is valid - if (!(strcmp("male", gender)) || !(strcmp("female", gender))) { + if (isMale || isFemale) { break; } else { printf("Bad value: Please enter either male or female\n"); } } + // nice space + printf("\n"); // Calculate the BMI bmi = 10000 * (weight / pow(height, 2)); + // Assign bool + overWeight = bmi > 25; + // Calculate the BSA(Mosteller's) mostellar = sqrt((height * weight) / 3600); @@ -84,20 +115,23 @@ int main(){ // 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) { + if (isFemale) { + if (overWeight) { lifeExpect = 81.4; } else { lifeExpect = 83.5; } } else { - if (bmi > 25) { + if (overWeight) { lifeExpect = 77.3; } else { lifeExpect = 79.4; } } + // Demark output + printf("***Output***********************************************************************\n"); + // Display values and output printf("For a %s with weight(kg) of %.1fkg and height(cm) of %.1fcm\n", gender, weight, height); printf("You have a BMI of %.1f and a life expectancy of %.1f years\n", bmi, lifeExpect); @@ -109,106 +143,4 @@ int main(){ return 0; } -void header(int width, int margin, char lineChar, char *headerTitle, char *inputMessage, int meslen) { - int TITLE_MARGIN = 3; - int CONTENT_MARGIN = margin; - - int rows = 1; - - - char line[width + 1]; - char topLine[width + 1]; - - int contentWidth = (width - 2 * CONTENT_MARGIN) - 2; - // Create Line - for (int i = 0; i < width; i++) { - line[i] = lineChar; - } - - line[width] = 0; - - strcpy(topLine, line); - // Add header title - for (int i = TITLE_MARGIN; i < ((int)strlen(headerTitle) + TITLE_MARGIN); i++) { - topLine[i] = headerTitle[i - TITLE_MARGIN]; - } - - topLine[width] = 0; - - - char *message = (char *)malloc((meslen + 100) * sizeof(char)); - if (message == NULL) { - printf("Memory allocation failed!\n"); - exit(1); - } - - - strncpy(message, inputMessage, meslen + 100); - - - while(1) { - if ((contentWidth * rows) > (int)strlen(message)) { break; } - if (message[(contentWidth * rows)] != ' ') { - int i = 1; - int tempCounter = 0; - while (1) { - if (message[(contentWidth * rows) - i] == ' ') { - int start = ((contentWidth * rows) - i) + 1; - char tempMessage[(int)strlen(message)]; - int k = 0; - for (int j = 0; j < (int)strlen(message); j++) { - tempMessage[j] = ' '; - } - for (int j = start; j < strlen(message); j++) { - tempMessage[k] = message[j]; - tempCounter = k; - k++; - } - for (int j = 0; j < i; j++) { - message[start + j] = ' '; - } - for (int j = 0; j < tempCounter + 2; j++) { - message[(start + i) + j] = tempMessage[j]; - if (tempCounter + 1 == j) { - message[(start + i) + j] = 0; - } - } - break; - } - i++; - } - } - rows++; - } - - - printf("%s\n", topLine); - - for (int i = 0; i < rows; i++) { - int charCount = 0; - printf("*"); - for (int j = 0; j < CONTENT_MARGIN; j++) { - printf(" "); - } - for (int j = 0; j < contentWidth; j++) { - if (charCount == 0 && (message[j + (i * contentWidth)] == ' ')) {j++;} - if (!(message[j + (i * contentWidth)])) { - break; - } - printf("%c", message[j + (i * contentWidth)]); - charCount++; - } - for (int j = 0; j < contentWidth - charCount; j++) { - printf(" "); - } - for (int j = 0; j < CONTENT_MARGIN; j++) { - printf(" "); - } - printf("*\n"); - } - - printf("%s\n", line); - - free(message); -} diff --git a/csci218/Assignments/bmi.out b/csci218/Assignments/bmi.out index c24325d32af2b4873200d96ff933a7692890218e..1d8b84277e8dbf5f31feaec4e5f5b3385788efc3 100755 GIT binary patch literal 33736 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 + +int main() { + + int x; + + printf("Enter number: "); + scanf("%d", &x); + + if (!(11 % x)) { + printf("is multiple\n"); + } else { + printf("not multiple\n"); + } + + + return 0; +} diff --git a/csci218/Lect/a.out b/csci218/Lect/a.out index 688c3a3e7c36b5eee2718a9fa9cd7a8d51313b33..b8f541b42e7f2022c9857127ee95a4298919699e 100755 GIT binary patch delta 454 zcmdnd%Cw`EX~G4e8+Hr~j0_A69Y72MH|!=pvJ*_Ohlol*1Q`-08#3ApRzO8{p`sO= z8yWvI3NUGV|JyjhI(XOi#aElQsMJiJz-+;E!*25_WB4G6zb`!aP>RDm@7`usVKt4piA?R>{+N-_&_Qn?uN@=K6-3=ET(+spETLd5}S1qdf>zG%P9f$2u= zY1}n;s9uiqEzS{eWeXHPg?{ZnA37SV5yARmy2%ap|)S$Lu p-DS7SXS$y;atOt5iBQ;3{!-@GZjCE(yWTx*zIAo>BA~l~008`Nk|6*9 delta 409 zcmdnd%Cw`EX~G2|4toX$Mg|6k3?K#p4*Q9Z>;wy-q7o26hJwk4jP`;ZP*DY_XvgM8 z#{Y~05&lB=jYBNL*4XgQQf4$tm^^{mf{DX^^C@ON>&XEu21)-9GhF;z&9w4wGs8p< zhK8UO&hk6K)D6Z@jL!jJFWbGcyg4ziez#|Vv&^sgK9EEWPWLp0*I@SS*)O%JbAgj zEHB8T4nUJZxM1@|`(+MH9d(l{8{|RMtOhxtizn}DIH?Z{2*yOc{L&JJ%M4$lx+2>B zN)8+8Xl=JX{hE_&`Prbr%Q5Zw_lzw&(kE|fbWm8}ep)a~^6sIz*HxLiKhCi&nXi~H z&Jkhw{^rglQ%ZaaCkr(-s4Wq;U$LUH=z|~6sg|0!UArdQd5ElX-+TY3&(HeA$!&{) H?g9b;{c?rm diff --git a/csci218/a.out b/csci218/a.out index 90e229d0de33dcab63896d80fcfd73db446acfad..e7fd194c8147a5c5449f30415d0151599ea7dd69 100755 GIT binary patch literal 34168 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 diff --git a/csci218/header2.c b/csci218/header2.c new file mode 100644 index 0000000..d88116c --- /dev/null +++ b/csci218/header2.c @@ -0,0 +1,170 @@ +#include +#include +#include + +void header(int width, int margin, char lineChar, char *headerTitle, char *inputMessage, int meslen); + +int main() { + + char message1[] = "This program will calculate your BMI, Life Expectancy, and BSA(multiple methods) with just your weight(kg), height(cm), and gender."; + char message2[] = "Please enter your weight in kg fmt: XX.X and your height in cm fmt: XXX.X, Male and Female are the only valid options for gender."; + + + header(80, 4, '*', "Purpose", message1, (int)strlen(message1)); + + printf("\n"); + + header(80, 4, '*', "Data Input", message2, (int)strlen(message2)); + + header(80, 4, '*', "Output", "", 1); + + int width, margin, meslen; + char *message, *title, lineChar; + + size_t messageSize = 500; + + title = (char *)malloc(100 * sizeof(char)); + message = (char *)malloc(messageSize * sizeof(char)); + + while (1) { + printf("Welcome to header maker 2!\n"); + printf("Please enter the width as an int: "); + scanf("%d", &width); + printf("Please enter the margin: "); + scanf("%d", &margin); + printf("Please enter the char: "); + while (getchar() != '\n'); + scanf("%c", &lineChar); + printf("Please enter the title: "); + while (getchar() != '\n'); + scanf("%s", title); + printf("Please enter the message: "); + while (getchar() != '\n'); + if (getline(&message, &messageSize, stdin) == -1) { + printf("Error reading message!"); + free(message); + return 1; + } + printf("%s\n", message); + + message[(int)strlen(message) - 1] = 0; + + header(width, margin, lineChar, title, message, (int)strlen(message)); + + break; + + } + + return 0; +} + +void header(int width, int margin, char lineChar, char *headerTitle, char *inputMessage, int meslen) { + int TITLE_MARGIN = 3; + int CONTENT_MARGIN = margin; + + int rows = 1; + + + + char line[width + 1]; + char topLine[width + 1]; + + int contentWidth = ((width - 2 * CONTENT_MARGIN) - 2); + // Create Line + for (int i = 0; i < width; i++) { + line[i] = lineChar; + } + + line[width] = 0; + + strcpy(topLine, line); + // Add header title + for (int i = TITLE_MARGIN; i < ((int)strlen(headerTitle) + TITLE_MARGIN); i++) { + topLine[i] = headerTitle[i - TITLE_MARGIN]; + } + + topLine[width] = 0; + + + char *message = (char *)malloc((meslen + 100) * sizeof(char)); + if (message == NULL) { + printf("Memory allocation failed!\n"); + exit(1); + } + + + strncpy(message, inputMessage, meslen + 100); + + + while(1) { + if ((contentWidth * rows) > (int)strlen(message)) { break; } + if (message[(contentWidth * rows)] != ' ') { + int i = 1; + int tempCounter = 0; + while (1) { + if (message[(contentWidth * rows) - i] == ' ') { + int start = ((contentWidth * rows) - i) + 1; + char tempMessage[(int)strlen(message)]; + int k = 0; + for (int j = 0; j < (int)strlen(message); j++) { + tempMessage[j] = ' '; + } + for (int j = start; j < strlen(message); j++) { + tempMessage[k] = message[j]; + tempCounter = k; + k++; + } + for (int j = 0; j < i; j++) { + message[start + j] = ' '; + } + for (int j = 0; j < tempCounter + 2; j++) { + message[(start + i) + j] = tempMessage[j]; + if (tempCounter + 1 == j) { + message[(start + i) + j] = 0; + } + } + break; + } + i++; + } + } + rows++; + } + + + //printf("%s\n", topLine); + printf("printf(\"%s\\n\");\n", topLine); + + for (int i = 0; i < rows; i++) { + int charCount = 0; + + printf("printf(\""); + + printf("%c", lineChar); + + for (int j = 0; j < CONTENT_MARGIN; j++) { + printf(" "); + } + for (int j = 0; j < contentWidth; j++) { + if (charCount == 0 && (message[j + (i * contentWidth)] == ' ')) {j++;} + if (!(message[j + (i * contentWidth)])) { + break; + } + printf("%c", message[j + (i * contentWidth)]); + charCount++; + } + for (int j = 0; j < contentWidth - charCount; j++) { + printf(" "); + } + for (int j = 0; j < CONTENT_MARGIN; j++) { + printf(" "); + } + printf("%c", lineChar); + printf("\\n\");\n"); + } + + // printf("%s\n", line); + printf("printf(\"%s\\n\");\n", line); + + free(message); +}