From 5c2ea4c07baf85cbbf98e3d469db9c184232a3c5 Mon Sep 17 00:00:00 2001 From: moonleay Date: Mon, 18 Nov 2024 17:27:55 +0100 Subject: [PATCH] feat: started handling special cases --- main.cpp | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/main.cpp b/main.cpp index ebc6bb2..0c7ccb1 100644 --- a/main.cpp +++ b/main.cpp @@ -24,19 +24,30 @@ int main() } int input_length = static_cast(std::to_string(input).length()); int first_digit = input % 10; - vector result; - result.push_back(first_digit_strings[first_digit]); - int middle_digit = ((input % 100) - first_digit) / 10; - result.push_back(middle_digit_strings[middle_digit]); + + vector result; + string suffix = ""; + if (first_digit == 1) + suffix = "s"; + if (middle_digit != 0 && first_digit != 0) + suffix = "und"; + result.push_back(first_digit_strings[first_digit] + suffix); + if (input_length > 1) + result.push_back(middle_digit_strings[middle_digit]); + else + result.push_back(""); if (input_length == 3) { int last_digit = ((input % 1000) - middle_digit) / 100; - result.push_back(first_digit_strings[last_digit] + "hundert"); + string suffix = ""; + result.push_back(first_digit_strings[last_digit] + "hundert" + suffix); } + else + result.push_back(""); - cout << result[2] << result[0] << "und" << result[1] << "\n"; + cout << result[2] << result[0] << result[1] << "\n"; } cout << "Eingabe beendet.\n"; return 0;