From 33d9590acbba3e92b52ff3ce7bf5401400245c33 Mon Sep 17 00:00:00 2001 From: Haldrup-tech Date: Thu, 19 Sep 2024 09:07:30 -0400 Subject: [PATCH] header.c added --- csci218/Assignments/BMI.c | 94 ++++++++++++++++++++++++++++-- csci218/Assignments/bmi.out | Bin 33912 -> 34008 bytes csci218/a.out | Bin 0 -> 33800 bytes csci218/header.c | 110 ++++++++++++++++++++++++++++++++++++ 4 files changed, 199 insertions(+), 5 deletions(-) create mode 100755 csci218/a.out create mode 100644 csci218/header.c diff --git a/csci218/Assignments/BMI.c b/csci218/Assignments/BMI.c index bf84009..a33b074 100644 --- a/csci218/Assignments/BMI.c +++ b/csci218/Assignments/BMI.c @@ -3,6 +3,8 @@ #include #include +void header(int width, int margin, char lineChar, char headerTitle[50], char inputMessage[500]); + int main(){ // Declare Variables @@ -14,13 +16,9 @@ int main(){ // 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("*\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); + header(80, 4, '*', "Purpose", "This program will calculate your BMI, Life Expectancy, and BSA(multiple methods) with just your weight(kg), height(cm), and gender."); // Read in weight, height, and gender from user printf("Please enter your weight(kg): "); @@ -107,3 +105,89 @@ int main(){ return 0; } + +void header(int width, int margin, char lineChar, char headerTitle[50], char inputMessage[500]) { + int TITLE_MARGIN = 3; + int CONTENT_MARGIN = margin; + + int rows = 1; + + char message[500]; + + strcpy(message, inputMessage); + + 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 + 1] = '\0'; + + strcpy(topLine, line); + // Add header title + for (int i = TITLE_MARGIN; i < (strlen(headerTitle) + TITLE_MARGIN); i++) { + topLine[i] = headerTitle[i - TITLE_MARGIN]; + } + + topLine[width + 1] = '\0'; + + int rowCheck = 1; + char tempMessage[500]; + + while(1) { + if (message[(contentWidth * rows)] == '\0') { break; } + if (message[(contentWidth * rows)] != ' ') { + int i = 1; + while (1) { + if (message[(contentWidth * rows) - i] == ' ') { + int start = ((contentWidth * rows) - i) + 1; + int k = 0; + for (int j = start; j < strlen(message); j++) { + tempMessage[k] = message[j]; + k++; + } + for (int j = 0; j < i; j++) { + message[start + j] = ' '; + } + for (int j = 0; j < strlen(tempMessage); j++) { + message[(contentWidth * rows) + 1 + j] = tempMessage[j]; + } + 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 (j + (i * contentWidth) == (int)strlen(message)) { + 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); +} diff --git a/csci218/Assignments/bmi.out b/csci218/Assignments/bmi.out index fff20ca0e09bf119eac2bec86dfde03d39f83a2d..c24325d32af2b4873200d96ff933a7692890218e 100755 GIT binary patch literal 34008 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 diff --git a/csci218/a.out b/csci218/a.out new file mode 100755 index 0000000000000000000000000000000000000000..90e229d0de33dcab63896d80fcfd73db446acfad GIT binary patch literal 33800 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 literal 0 HcmV?d00001 diff --git a/csci218/header.c b/csci218/header.c new file mode 100644 index 0000000..a0f5a12 --- /dev/null +++ b/csci218/header.c @@ -0,0 +1,110 @@ +#include +#include + +void header(int width, int margin, char lineChar, char *headerTitle, char *message); + +int main() { + char message[] = "This program will calculate your BMI, Life Expectancy, and BSA(multiple methods) with just your weight(kg), height(cm), and gender."; + + printf("%d\n", (int)strlen(message)); + header(80, 4, '*', "Purpose", message); + + return 0; +} + +void header(int width, int margin, char lineChar, char *headerTitle, char *message) { + 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 + 1] = '\0'; + + strcpy(topLine, line); + // Add header title + for (int i = TITLE_MARGIN; i < (strlen(headerTitle) + TITLE_MARGIN); i++) { + topLine[i] = headerTitle[i - TITLE_MARGIN]; + } + + topLine[width + 1] = '\0'; + + printf("%d\n", (int)strlen(message)); + + int rowCheck = 1; + + while(1) { + printf("%d > %d = %d\n", contentWidth * rows, (int)strlen(message), (contentWidth * rows) > (int)strlen(message)); + if ((contentWidth * rows) > (int)strlen(message)) { break; } + if (message[(contentWidth * rows)] != ' ') { + int i = 1; + while (1) { + printf("previous char = %c\n", message[(contentWidth * rows) - i]); + if (message[(contentWidth * rows) - i] == ' ') { + int start = ((contentWidth * rows) - i) + 1; + char tempMessage[(int)strlen(message)]; + printf("check char = %c\n", message[contentWidth * rows]); + printf("start = %d\n", start); + printf("char after start = %c\n", message[start]); + int k = 0; + for (int j = 0; j < (int)strlen(tempMessage); j++) { + tempMessage[j] = ' '; + } + for (int j = start; j < strlen(message); j++) { + tempMessage[k] = message[j]; + k++; + } + for (int j = 0; j < i; j++) { + message[start + j] = ' '; + } + for (int j = 0; j < ((int)strlen(message)) - start - 1; j++) { + message[(start + i) + j] = tempMessage[j]; + } + break; + } + i++; + } + } + rows++; + } + + printf("%s\n", tempMessage); + printf("%s\n",message); + + 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 (j + (i * contentWidth) == (int)strlen(message)) { + 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); +}