fork download
  1. #include <iostream>
  2. #include <string>
  3.  
  4. std::string UpTo19(uint32_t val, bool isOne=false)
  5. {
  6. switch(val)
  7. {
  8. case 0: return "Null";
  9. case 1:
  10. if(isOne)
  11. return "eins";
  12. else
  13. return "ein";
  14. case 2: return "zwei";
  15. case 3: return "drei";
  16. case 4: return "vier";
  17. case 5: return "fünf";
  18. case 6: return "sechs";
  19. case 7: return "sieben";
  20. case 8: return "acht";
  21. case 9: return "neun";
  22. case 10:return "zehn";
  23. case 11:return "elf";
  24. case 12:return "zwölf";
  25. case 16:return "sechzehn";
  26. case 17:return "siebzehn";
  27. default:return UpTo19(val%10)+"zehn";
  28. }
  29. }
  30.  
  31. std::string UpTo99(uint32_t val, bool isOne=false)
  32. {
  33. if(val<20) return UpTo19(val, isOne);
  34. std::string word;
  35. if(val%10)
  36. word=UpTo19(val%10, false)+"und";
  37.  
  38. switch(val/10)
  39. {
  40. case 2: word+="zwanzig"; break;
  41. case 3: word+="dreissig"; break;
  42. case 4: word+="vierzig"; break;
  43. case 5: word+="fünfzig"; break;
  44. case 6: word+="sechzig"; break;
  45. case 7: word+="siebzig"; break;
  46. case 8: word+="achtzig"; break;
  47. case 9: word+="neunzig"; break;
  48. }
  49. return word;
  50. }
  51.  
  52. int main() {
  53. for(int i=0; i<100; ++i)
  54. {
  55. std:: cout << UpTo99(i, i==1) << "\n";
  56. }
  57. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Null
eins
zwei
drei
vier
fünf
sechs
sieben
acht
neun
zehn
elf
zwölf
dreizehn
vierzehn
fünfzehn
sechzehn
siebzehn
achtzehn
neunzehn
zwanzig
einundzwanzig
zweiundzwanzig
dreiundzwanzig
vierundzwanzig
fünfundzwanzig
sechsundzwanzig
siebenundzwanzig
achtundzwanzig
neunundzwanzig
dreissig
einunddreissig
zweiunddreissig
dreiunddreissig
vierunddreissig
fünfunddreissig
sechsunddreissig
siebenunddreissig
achtunddreissig
neununddreissig
vierzig
einundvierzig
zweiundvierzig
dreiundvierzig
vierundvierzig
fünfundvierzig
sechsundvierzig
siebenundvierzig
achtundvierzig
neunundvierzig
fünfzig
einundfünfzig
zweiundfünfzig
dreiundfünfzig
vierundfünfzig
fünfundfünfzig
sechsundfünfzig
siebenundfünfzig
achtundfünfzig
neunundfünfzig
sechzig
einundsechzig
zweiundsechzig
dreiundsechzig
vierundsechzig
fünfundsechzig
sechsundsechzig
siebenundsechzig
achtundsechzig
neunundsechzig
siebzig
einundsiebzig
zweiundsiebzig
dreiundsiebzig
vierundsiebzig
fünfundsiebzig
sechsundsiebzig
siebenundsiebzig
achtundsiebzig
neunundsiebzig
achtzig
einundachtzig
zweiundachtzig
dreiundachtzig
vierundachtzig
fünfundachtzig
sechsundachtzig
siebenundachtzig
achtundachtzig
neunundachtzig
neunzig
einundneunzig
zweiundneunzig
dreiundneunzig
vierundneunzig
fünfundneunzig
sechsundneunzig
siebenundneunzig
achtundneunzig
neunundneunzig