Code:first_number = number / 10 ; second_number = number % 10 ; switch (first_number) { case 9: printf ("ninety"); break; case 8: printf ("eighty"); break; case 7: printf ("seventy"); break; case 6: printf ("sixty"); break; case 5: printf ("fifty"); break; case 4: printf ("forty"); break; case 3: printf ("thirty"); break; case 2: printf ("twenty"); break; } switch (second_number) { case 9: printf ("-nine\n"); break; case 8: printf ("-eight\n"); break; case 7: printf ("-seven\n"); break; case 6: printf ("-six\n"); break; case 5: printf ("-five\n"); break; case 4: printf ("-four\n"); break; case 3: printf ("-three\n"); break; case 2: printf ("-two\n"); break; case 1: printf ("-one\n"); break; case 0: printf ("\n"); break; }
My suggestion, which naples98 was clarifying, was to change that into something like:
Code:first_number = number / 10 ; second_number = number % 10 ; switch (first_number) { case 9: printf ("ninety"); break; case 8: printf ("eighty"); break; case 7: printf ("seventy"); break; case 6: printf ("sixty"); break; case 5: printf ("fifty"); break; case 4: printf ("forty"); break; case 3: printf ("thirty"); break; case 2: printf ("twenty"); break; } if(first_number != 0 && second_number != 0) { printf("-"); } switch (second_number) { case 9: printf ("nine"); break; case 8: printf ("eight"); break; case 7: printf ("seven"); break; case 6: printf ("six"); break; case 5: printf ("five"); break; case 4: printf ("four"); break; case 3: printf ("three"); break; case 2: printf ("two"); break; case 1: printf ("one"); break; } printf("\n");
This also incorporates balmw's idea re: the - and single digit numbers.
Also, you might want to add some error checking as we have discussed previously. If the user enters -234 or 2114 the code won't work properly. You ask them to enter a 2 digit number. If they disobey (maybe you can be lenient about a 1 digit number) you should tell them so. Just check if what's entered is < 1 or > 99. You didn't specify the number must be positive, but obviously the code only handles positives right now.
-Lee
Aha! okay, I get it. I'm going to write that one down to remember how to handle it. Thanks for showing me. Sometimes it's better because I haven't come to it in the book yet, so I'm happy to learn some things that can compliment the code I've already written. As I have a deep understanding of what I've written because of the time and thought involved, it's easy to pick up a pointer or two of new information that I can incorporate.
Gee, if only we could have written computer programming before inventing the English language, we could have come up with an English language that would be easier to code!!