diff --git a/vs4win/Chapter04/WritingFunctions/Program.Functions.cs b/vs4win/Chapter04/WritingFunctions/Program.Functions.cs index 8297031..8f10cc6 100644 --- a/vs4win/Chapter04/WritingFunctions/Program.Functions.cs +++ b/vs4win/Chapter04/WritingFunctions/Program.Functions.cs @@ -60,7 +60,9 @@ static string CardinalToOrdinal(int number) { - switch (number) + int lastTwoDigits = number % 100; + + switch (lastTwoDigits) { case 11: // special cases for 11th to 13th case 12: @@ -68,6 +70,7 @@ return $"{number}th"; default: int lastDigit = number % 10; + string suffix = lastDigit switch { 1 => "st", @@ -75,13 +78,14 @@ 3 => "rd", _ => "th" }; + return $"{number}{suffix}"; } } static void RunCardinalToOrdinal() { - for (int number = 1; number <= 40; number++) + for (int number = 1; number <= 1030; number++) { Write($"{CardinalToOrdinal(number)} "); } diff --git a/vs4win/Chapter04/WritingFunctions/Program.cs b/vs4win/Chapter04/WritingFunctions/Program.cs index f2a87e5..aad506b 100644 --- a/vs4win/Chapter04/WritingFunctions/Program.cs +++ b/vs4win/Chapter04/WritingFunctions/Program.cs @@ -11,10 +11,10 @@ decimal taxToPay = CalculateTax(amount: 149, twoLetterRegionCode: "FR"); WriteLine($"You must pay {taxToPay} in tax."); */ -//RunCardinalToOrdinal(); +RunCardinalToOrdinal(); //RunFactorial(); //RunFibImperative(); -RunFibFunctional(); \ No newline at end of file +//RunFibFunctional(); \ No newline at end of file diff --git a/vscode/Chapter04/WritingFunctions/Program.Functions.cs b/vscode/Chapter04/WritingFunctions/Program.Functions.cs index 8297031..8f10cc6 100644 --- a/vscode/Chapter04/WritingFunctions/Program.Functions.cs +++ b/vscode/Chapter04/WritingFunctions/Program.Functions.cs @@ -60,7 +60,9 @@ static string CardinalToOrdinal(int number) { - switch (number) + int lastTwoDigits = number % 100; + + switch (lastTwoDigits) { case 11: // special cases for 11th to 13th case 12: @@ -68,6 +70,7 @@ return $"{number}th"; default: int lastDigit = number % 10; + string suffix = lastDigit switch { 1 => "st", @@ -75,13 +78,14 @@ 3 => "rd", _ => "th" }; + return $"{number}{suffix}"; } } static void RunCardinalToOrdinal() { - for (int number = 1; number <= 40; number++) + for (int number = 1; number <= 1030; number++) { Write($"{CardinalToOrdinal(number)} "); } diff --git a/vscode/Chapter04/WritingFunctions/Program.cs b/vscode/Chapter04/WritingFunctions/Program.cs index f2a87e5..aad506b 100644 --- a/vscode/Chapter04/WritingFunctions/Program.cs +++ b/vscode/Chapter04/WritingFunctions/Program.cs @@ -11,10 +11,10 @@ decimal taxToPay = CalculateTax(amount: 149, twoLetterRegionCode: "FR"); WriteLine($"You must pay {taxToPay} in tax."); */ -//RunCardinalToOrdinal(); +RunCardinalToOrdinal(); //RunFactorial(); //RunFibImperative(); -RunFibFunctional(); \ No newline at end of file +//RunFibFunctional(); \ No newline at end of file