From c9d153b6dafc1018fd7fad08677cade7332e2df0 Mon Sep 17 00:00:00 2001 From: mjfernez Date: Wed, 12 Feb 2020 21:04:06 -0500 Subject: Update README. update reworking --- reworking/wordnums | Bin 17296 -> 17416 bytes reworking/wordnums.c | 48 ++++++++++++++++++++++++++++++------------------ 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/reworking/wordnums b/reworking/wordnums index 8510dee..f30a9da 100755 Binary files a/reworking/wordnums and b/reworking/wordnums differ diff --git a/reworking/wordnums.c b/reworking/wordnums.c index ad57107..5f48400 100644 --- a/reworking/wordnums.c +++ b/reworking/wordnums.c @@ -14,17 +14,17 @@ const char *tens[10] = {"","", "twenty", "thirty", "forty", const char *nd = "AND"; -int lengthOfName(char *num){ +int lengthOfName(char *num) { char *word; // minus 1 for null terminator int digits = strlen(num) - 1; int n = atoi(num); - if(digits == 1){ + printf("The num is now %s", num, digits); + if(digits == 1) { word = (char *) ones[n]; printf("%s\n", word); return strlen(word); - } - if(digits == 2){ + } else if(digits == 2) { // if the first digit, ie. the tens column is 1 if(num[0] == '1'){ word = (char *) teens[n % 10]; @@ -36,31 +36,43 @@ int lengthOfName(char *num){ word = (char *) tens[n / 10]; printf("%s\n", word); return strlen(word); - } - else{ - // since the input to the function expects a null terminator, an extra '\n' is needed - - /// substring would be a better way to do this + } else { + // since the input to the function expects a null terminator, + // an extra '\n' is needed char o[2]; int on; word = (char *) tens[n / 10]; printf("%s", word); - o[0] = num[1]; - o[1] = '\n'; + strncpy(o, &num[1], 2); + printf("%s", o); on = lengthOfName(o); - //return (strlen(word) + lengthOfName(o)); return (strlen(word) + on); } + } else if(digits == 3) { + printf("HERE\n\n"); + word = (char *) ones[n / 100]; + printf("%shundred", word); + if(num[1] == '0' && num[2] == '0') { + printf("\n"); + return strlen(word) + strlen("hundred"); + } else { + char t[3]; + int te; + strncpy(t, &num[1], 3); + printf("%s", nd); + te = lengthOfName(t); + // example: the user inputs, num = 121 + // one hundred AND twenty one + + ////this line breaks the program for some reason + //return (strlen(word) + strlen("hundred") + strlen(nd) + te); + } } - if(digits == 3){ - word = (char *) ones[n / 100] - int t = lengthOfName( - } - // error condition + // error condition for debugging, i.e. in case I messed up, return something return -1; } -int main(){ +int main() { // 4 is the max for this example, +1 for null terminator or if user tries to cheat char n[5]; int out; -- cgit v1.2.3